iOS开发(OC)——手机号码,邮箱,网址等正则表达式的实现

首先是公共的方法

+(BOOL)predictTargetString:(NSString *)targetString AndExpression:(NSString *)regularExpression
{
    NSPredicate *pre = [NSPredicate predicateWithFormat:@"SELF MATCHES %@",regularExpression];
    BOOL flag = [pre evaluateWithObject:targetString];
    return flag;
}

下面是各种验证的实现

//手机号码
+(BOOL)isPhone:(NSString *)numString
{
    BOOL flag=NO;
    flag=[self predictTargetString:numString AndExpression:@"^[1][3578]+\\d{9}$"];
    return flag;
}
//固定电话
+(BOOL)isTel:(NSString *)numString
{
    BOOL flag=NO;
    flag=[self predictTargetString:numString AndExpression:@"^0(10|2[0-5789]|\\d{3})\\d{7,8}$"];
    return flag;
}

//密码形式:以字母开头,6-15位字母和数字的组合
+(BOOL)isPwd:(NSString *)numString
{
    BOOL flag=NO;
    flag=[self predictTargetString:numString AndExpression:@"^[a-zA-Z]{1}[a-zA-Z0-9]{5,14}+$"];
    return flag;

}
//邮箱
+(BOOL)isEmail:(NSString *)numString
{
    BOOL flag=NO;
    flag=[self predictTargetString:numString AndExpression:@"[A-Z0-9a-z._%+-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,4}"];
    return flag;
}
//身份证
+(BOOL)isIDCard:(NSString *)numString
{
    BOOL flag=NO;
    flag=[self predictTargetString:numString AndExpression:@"^(\\d{14}|\\d{17})(\\d|[xX])$"];
    return flag;
}
//网址
+(BOOL)isURL:(NSString *)numString
{
    BOOL flag=NO;
    flag=[self predictTargetString:numString AndExpression:@"\\bhttps?://[a-zA-Z0-9\\-.]+(?::(\\d+))?(?:(?:/[a-zA-Z0-9\\-._?,'+\\&%$=~*!():@\\\\]*)+)?"];
    return flag;
}
//邮政编码
+(BOOL)isZipCode:(NSString *)numString
{
    BOOL flag=NO;
    flag=[self predictTargetString:numString AndExpression:@"^[0-9]{6}"];
    return flag;
}

使用示例:

if([Check isPhone:@"18825194182"]){//是手机号(Check是我新建的一个继承NSObject类,上面的代码都是放在此类中封装起来的)

    }
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值