首页 > 技术文章 > swift4.0 正则表达式判断手机号

qizhuo 2017-11-14 14:34 原文

class func isTelNumber(num:NSString)->Bool

    {

        let mobile = "^1((3[0-9]|4[57]|5[0-35-9]|7[0678]|8[0-9])\\d{8}$)"

        let  CM = "(^1(3[4-9]|4[7]|5[0-27-9]|7[8]|8[2-478])\\d{8}$)|(^1705\\d{7}$)";

        let  CU = "(^1(3[0-2]|4[5]|5[56]|7[6]|8[56])\\d{8}$)|(^1709\\d{7}$)";

        let  CT = "(^1(33|53|77|8[019])\\d{8}$)|(^1700\\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: num) == true)

            || (regextestcm.evaluate(with: num)  == true)

            || (regextestct.evaluate(with: num) == true)

            || (regextestcu.evaluate(with: num) == true))

        {

            return true

        }

        else

        {

            return false

        }

    }

推荐阅读