// // Foundation+.swift // 常规扩展 // // Created by CC-star on 2025/6/29. // import Foundation //以1开头,再加10个数字【\d】(\\d -> 转义字符\ -> \d),并以数字结尾 let kPhoneRegEx = "^1\\d{10}$"//中国手机号正则表达式 let kVerCodeRegEx = "^\\d{6}$"//验证码正则表达式 extension NSRegularExpression { convenience init(_ pattern: String) { do { try self.init(pattern: pattern) } catch { fatalError("非法的正则表达式")//因不能确保调用父类的init函数 } } func matches(_ string: String) -> Bool { let range = NSRange(location: 0, length: string.utf16.count) return firstMatch(in: string, options: [], range: range) != nil } } extension String { var isBlank: Bool { self.isEmpty || self.trimmingCharacters(in: .whitespacesAndNewlines).isEmpty }//没有输入或者输入空格 var trimmed: String { self.trimmingCharacters(in: .whitespacesAndNewlines) } var isPhoneNum: Bool { Int(self) != nil && NSRegularExpression(kPhoneRegEx).matches(self) //判断该字符串是否可以转化为int类型 nor 置空 -> 判断用户是否输入的是数字 } var isVerCode: Bool { Int(self) != nil && NSRegularExpression(kVerCodeRegEx).matches(self) } //随机字母和数字组合 static func randomString(_ length: Int) -> String{ let letters = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789" return String((0..