宽窄优行-由【嘉易行】项目成品而来
younger_times
2023-07-05 0d8f5fc8a516bfd07e425909e4a4432600572ee7
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
//
//  RegularExpression.swift
//  OKProject
//
//  Created by alvin_y on 2020/5/20.
//  Copyright © 2020 yangwang. All rights reserved.
//
 
import Foundation
 
extension String {
    
    enum RegExKey: String {
        case isPhoneNumber = "^(1[3-9])\\d{9}$"
        case isTelephone = "^[0-9]{8}$"
        case isSMSCodeOrPaymentCode = "^[0-9]{4}$"
        case isPassword = "^[0-9A-Za-z]{6,18}$"
        case isFeedbackContent = "{1,200}$"
    }
}
 
extension String {
    
    /**
     正则表达判断是否含有结果值
     - parameter pattern: 一个字符串类型的正则表达式
     - parameter str: 需要比较判断的对象
     - returns: 返回布尔值判断结果
     - warning: 注意匹配到结果的话就会返回true,没有匹配到结果就会返回false
     */
    func regEx(pattern: RegExKey) -> Bool {
        let regex = try! NSRegularExpression(pattern: pattern.rawValue, options:[NSRegularExpression.Options.caseInsensitive])
        let resultNum = regex.numberOfMatches(in: self, options: NSRegularExpression.MatchingOptions(rawValue: 0) , range: NSMakeRange(0, self.count))
        
        guard resultNum != 0 else { return false }
        
        return true
    }
    
}