美文网首页Swiftswift-问题栈Swift专题
Swift中用正规表达式判断String是否是手机号码

Swift中用正规表达式判断String是否是手机号码

作者: 哈仕啦 | 来源:发表于2015-08-14 10:25 被阅读2237次

简单地贴个代码就走防止以后忘了难找也希望对不知道的同学们有帮助

func isTelNumber(num:NSString)->Bool
{
    var mobile = "^1(3[0-9]|5[0-35-9]|8[025-9])\\d{8}$"
    var  CM = "^1(34[0-8]|(3[5-9]|5[017-9]|8[278])\\d)\\d{7}$"
    var  CU = "^1(3[0-2]|5[256]|8[56])\\d{8}$"
    var  CT = "^1((33|53|8[09])[0-9]|349)\\d{7}$"
    var regextestmobile = NSPredicate(format: "SELF MATCHES %@",mobile)
    var regextestcm = NSPredicate(format: "SELF MATCHES %@",CM )
    var regextestcu = NSPredicate(format: "SELF MATCHES %@" ,CU)
    var regextestct = NSPredicate(format: "SELF MATCHES %@" ,CT)
    if ((regextestmobile.evaluateWithObject(num) == true)
        || (regextestcm.evaluateWithObject(num)  == true)
        || (regextestct.evaluateWithObject(num) == true)
        || (regextestcu.evaluateWithObject(num) == true))
    {
        return true
    }
    else
    {
        return false
    }  
}

相关文章

网友评论

  • 巴图鲁:不错
  • LLVKS:177的不行,我试过了
  • 雨洒潇湘:func isTel(num:String) -> Bool {
    let phone = "1[3|5|7|8|][0-9]{9}"
    let phoneText = NSPredicate(format: "SELF MATCHES %@", phone)

    return phoneText.evaluateWithObject(num)
    }
    简单的支持177,178等4G号段
  • 雨洒潇湘:新出的4G号段基本都不行
  • 离开是场无止境旅行:177的号码不行
  • 一直不见:学习起来
  • 快乐的小问酱:谢谢你节省了我的时间
  • 快乐的小问酱:似乎应该使用extension来做实现更加方便
    Colin_狂奔的蚂蚁:extension String {

    func isTelNumber() -> Bool {
    let mobile = "^1(3[0-9]|5[0-35-9]|8[025-9])\\d{8}$"
    let CM = "^1(34[0-8]|(3[5-9]|5[017-9]|8[278])\\d)\\d{7}$"
    let CU = "^1(3[0-2]|5[256]|8[56])\\d{8}$"
    let CT = "^1((33|53|8[09])[0-9]|349)\\d{7}$"
    let regextestmobile = NSPredicate(format: "SELF MATCHES %@",mobile)
    let regextestcm = NSPredicate(format: "SELF MATCHES %@",CM )
    let regextestcu = NSPredicate(format: "SELF MATCHES %@" ,CU)
    let regextestct = NSPredicate(format: "SELF MATCHES %@" ,CT)
    if ((regextestmobile.evaluate(with: self) == true)
    || (regextestcm.evaluate(with: self) == true)
    || (regextestct.evaluate(with: self) == true)
    || (regextestcu.evaluate(with: self) == true))
    {
    return true
    }
    else
    {
    return false
    }
    }
    }
  • Themores:可以可以

本文标题:Swift中用正规表达式判断String是否是手机号码

本文链接:https://www.haomeiwen.com/subject/jzqwqttx.html