匹配11位手机号码的正则表达式

前端之家收集整理的这篇文章主要介绍了匹配11位手机号码的正则表达式前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

最近在做一个即时通讯的项目,首先是注册登录界面,项目需求是通过用户输入的手机号码获取一个4位数的验证码来完成注册,那么,问题来了?

如何判断用户输入的手机号码是合法的正确的11位手机号码呢?(这些简单的问题就在前端判断好了再post给后台,没必要把各种没用的数据都post给后台)

判断手机号码是否正确的方法很多,我是用正则表达式来完成匹配的,废话不多说,直接上代码:

//正则表达式匹配11位手机号码
    NSString *regex = @"^((13[0-9])|(15[^4,\\D])|(18[0,0-9]))\\d{8}$";
    NSPredicate *pred = [NSPredicate predicateWithFormat:@"SELF MATCHES %@",regex];
    BOOL isMatch = [pred evaluateWithObject:_telField.text];
if(isMatch) {  //有效手机号
}else//无效手机号
    {
      
            if (ios7) {
                UIAlertView *alertView = [[UIAlertView alloc]initWithTitle:nil message:@"无效的手机号码,请重新输入..." delegate:self cancelButtonTitle:nil otherButtonTitles:@"确定",nil];
                alertView.tag = 104;
                [alertView show];
               
            }else
            {
                UIAlertController*alertController = [UIAlertController alertControllerWithTitle:nil message:@"无效的手机号码,请重新输入..." preferredStyle:UIAlertControllerStyleAlert];
                UIAlertAction *otherAction = [UIAlertAction actionWithTitle:@"确定" style:UIAlertActionStyleDefault handler:^(UIAlertAction*action) {
                    [_telField selectAll:self];
                }];
                [alertController addAction:otherAction];
                [self presentViewController:alertController animated:YES completion:nil];
            }
 
 
        }
       
       
    }

联通,移动和电信每年都会添加新的号码,所以匹配电话号码的正则表达式也要年年更新.

^((13[0-9])|(15[^4,0-9]))\\d{8}$这个正则表达式我测试过了还没发现有匹配不了的号码,在这里分享给大家用!

猜你在找的正则表达式相关文章