美文网首页
平时App开发用到的正则

平时App开发用到的正则

作者: Jason_YZC | 来源:发表于2017-02-16 15:20 被阅读19次

    代码适用于iOS,有用到可以直接拿走。

    //检查手机号码
    - (BOOL)isMobileNumber:(NSString *)mobileNum
    {
        /**
         * 手机号码
         * 移动:134[0-8],135,136,137,138,139,150,151,157,158,159,182,187,188
         * 联通:130,131,132,152,155,156,185,186
         * 电信:133,1349,153,180,189
         */
        NSString * MOBILE = @"^1(3[0-9]|5[0-35-9]|8[025-9])\\d{8}$";
        /**
         10         * 中国移动:China Mobile
         11         * 134[0-8],135,136,137,138,139,150,151,157,158,159,182,187,188
         12         */
        NSString * CM = @"^1(34[0-8]|(3[5-9]|5[017-9]|7[58]|8[23478])\\d)\\d{7}$";
        /**
         15         * 中国联通:China Unicom
         16         * 130,131,132,152,155,156,185,186
         17         */
        NSString * CU = @"^1(3[0-2]|5[256]|7[69]|8[56])\\d{8}$";
        /**
         20         * 中国电信:China Telecom
         21         * 133,1349,153,180,189
         22         */
        NSString * CT = @"^1((33|53|7[07]|8[019])[0-9]|349)\\d{7}$";
        /**
         25         * 大陆地区固话及小灵通
         26         * 区号:010,020,021,022,023,024,025,027,028,029
         27         * 号码:七位或八位
         28         */
        // NSString * PHS = @"^0(10|2[0-5789]|\\d{3})\\d{7,8}$";
        
        NSPredicate *regextestmobile = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", MOBILE];
        NSPredicate *regextestcm = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", CM];
        NSPredicate *regextestcu = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", CU];
        NSPredicate *regextestct = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", CT];
        
        if (([regextestmobile evaluateWithObject:mobileNum] == YES)
            || ([regextestcm evaluateWithObject:mobileNum] == YES)
            || ([regextestct evaluateWithObject:mobileNum] == YES)
            || ([regextestcu evaluateWithObject:mobileNum] == YES))
        {
            return YES;
        }
        else
        {
            return NO;
        }
    }
    
    
    /**
     *  验证邮箱
     *
     *  @param candidate 获取输入的字符串
     *
     *  @return "ture"说明是正确的 "false"说明是错误的
     */
    - (BOOL) validateEmail: (NSString *) candidate 
    {
        NSString *emailRegex = @"[A-Z0-9a-z._%+-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,4}";
        NSPredicate *emailTest = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", emailRegex];
        return [emailTest evaluateWithObject:candidate];
    }
    

    相关文章

      网友评论

          本文标题:平时App开发用到的正则

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