IOS 常用正则汇总

IOS 常用正则汇总

1、验证手机号

//验证手机号
func validateMobile(strMobileNum:String)->Bool{
    /**
     // 手机号码
     // 移动:134[0-8],135,136,137,138,139,150,151,157,158,159,182,183,184,187,188
     // 联通:130,131,132,152,155,156,176,185,186
     // 电信:133,1349,153,177,180,181,189
     
     NSString *strNum = @"^1(34[0-8]|47[0-9]|(3[5-9]|5[017-9]|8[23478])\\d)\\d{7}$"; //移动
     NSPredicate *regextest = [NSPredicate predicateWithFormat:@"SELF MATCHES %@",strNum];
     if ([regextest evaluateWithObject:_strMobileNum] == YES)
     return YES;
     
     strNum = @"^1(3[0-2]|5[256]|8[56]|76)\\d{8}$";                                  //联通
     regextest = [NSPredicate predicateWithFormat:@"SELF MATCHES %@",strNum];
     if ([regextest evaluateWithObject:_strMobileNum] == YES)
     return YES;
     
     strNum = @"^1((33|53|77|8[019])[0-9]|349)\\d{7}$";                              //电信
     regextest = [NSPredicate predicateWithFormat:@"SELF MATCHES %@",strNum];
     if ([regextest evaluateWithObject:_strMobileNum] == YES)
     return YES;
     */

    
    let strNum = "^(13|14|15|17|18)[0-9]{9}$";
    let regextest = NSPredicate(format: "SELF MATCHES %@", strNum);
    return regextest.evaluate(with: strMobileNum);
    
}

2、验证邮箱

//验证邮箱
func validateEmail(email:String)->Bool{
    let emailRegex = "^([a-zA-Z0-9_\\.\\-])+\\@(([a-zA-Z0-9\\-])+\\.)+([a-zA-Z0-9])+$";
    let emailTest = NSPredicate(format: "SELF MATCHES %@", emailRegex);
    return emailTest.evaluate(with: email);
}

3、验证用户名

//用户名只能是字母、数字、中文
func validateUserName(strUserName:String)->Bool{
    let predUserName = NSPredicate(format: "SELF MATCHES %@", "^[A-Za-z0-9\\u4e00-\\u9fa5]{2,20}$");
    return predUserName.evaluate(with: strUserName);
}

更多 NSPredicate 对象的使用请参考如下文章:
【iOS开发技术】NSPredicate谓词的用法 数组过滤

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

追夢秋陽

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值