NSPredicate 常用正則

1.驗(yàn)證郵箱
func isEmail(_ email: String) -> Bool {
    let regex = "[A-Z0-9a-z._% -] @[A-Za-z0-9.-] \\.[A-Za-z]{2,4}"
    let predicate = NSPredicate(format: "SELF MATCHES %@",   regex)
    return predicate.evaluate(with: email)
}
2.驗(yàn)證手機(jī)號(hào)
func isMobieNumber(_ phoneNumber: String) -> Bool {
// 用枚舉改寫(xiě)一下效率會(huì)高很多
    let chinaMobie = "^1(3[0-9]|5[0-35-9]|8[025-9])\\d{8}$"
    let chinaUnicom = "^1(34[0-8]|(3[5-9]|5[017-9]|8[278])\\d)\\d{7}$"
    let chinaTelecom = "^1(3[0-2]|5[256]|8[56])\\d{8}$"
    let telephone = "^1((33|53|8[09])[0-9]|349)\\d{7}$"
    
    let isChinaMobie = NSPredicate(format: "SELF MATCH %@", chinaMobie)
    let isChinaUnicom = NSPredicate(format: "SELF MATCH %@", chinaUnicom)
    let isChinaTelecom = NSPredicate(format: "SELF MATCH %@", chinaTelecom)
    let isTelephone = NSPredicate(format: "SELF MATCH %@", telephone)
    
    if isChinaMobie.evaluate(with: phoneNumber) == true || isChinaUnicom.evaluate(with: phoneNumber) == true || isChinaTelecom.evaluate(with: phoneNumber) == true || isTelephone.evaluate(with: phoneNumber) == true  {
        return true
    } else {
        return false
    }
}
3.驗(yàn)證車(chē)牌號(hào)
func isLicenseNumber(_ number: String) -> Bool {
     let regex = "^[A-Za-z]{1}[A-Za-z_0-9]{5}$"
     let predicate = NSPredicate(format: "SELF MATCHES %@", regex)
     return perdicate.evaluate(with: number)
}
4.驗(yàn)證用戶(hù)名
func isUserName(_ name: String) -> Bool {
     let regex = "^[A-Za-z0-9]{6,20}+$"
     let predicate = NSPredicate(format: "SELF MATCHES %@", regex)
     return predicate.evaluate(with: name)
   
}
5.驗(yàn)證密碼
func isPassword(_ passWord: String) -> Bool {
     let regex = "^[a-zA-Z0-9]{6,20}+$"
     let predicate = NSPredicate(format: "SELF MATCHES%@", regex)
     return predicate.evaluate(with: passWord)
}
6.驗(yàn)證中文
func isChinese(_ chinese: String) -> Bool {  
   let regex = "^[\u{4e00}-\u{9fa5}]{4,8}$"    // 4-8位
   let predicate = NSPredicate(format: "SELF MATCHES%@", regex)  
   return predicate.evaluate(with: chinese)
}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀(guān)點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容