正则表达式验证

来源:互联网 发布:反屏蔽器软件 编辑:程序博客网 时间:2024/05/22 14:35
https://github.com/fenglingdeyi/Regular

在iOS开发中,在登录和注册以及个人中心中经常会用到一些格式验证,比如身份证、手机号、密码等等,为了在平时用着方便,我对一些常用的验证进行了封装:


//验证手机号//手机号简单+ (BOOL)checkTelNumber:(NSString*) telNumber;//手机号复杂+(BOOL)checkPhoneNumber:(NSString *)telNumber;//座机+(BOOL) checkphoneTelNumbel:(NSString *)telNumbel;#pragma 正则匹配用户密码6-18位数字和字母_组合+ (BOOL)checkPassword:(NSString*) password;#pragma 正则匹配用户身份证号15或18位+ (BOOL)checkUserIdCard:(NSString*)idCard;#pragma 正则匹配URL+ (BOOL)checkURL : (NSString*) url;//验证邮箱+(BOOL) checkEmail:(NSString *)email;//输入只能是中文、英文和下划线+(BOOL) checkName:(NSString *)userName;
具体实现方法:

+ (BOOL)checkTelNumber:(NSString*) telNumber{    NSString*pattern =@"^1+[3578]+\\d{9}";        NSPredicate*pred = [NSPredicate predicateWithFormat:@"SELF MATCHES %@",pattern];        BOOL isMatch = [pred evaluateWithObject:telNumber];        return isMatch;}//    private static final String REGEX_MOBILE_EXACT = "^((13[0-9])|(14[5,7])|(15[0-3,5-8])|(17[0,3,5-8])|(18[0-9])|(147))\\d{8}$";+(BOOL)checkPhoneNumber:(NSString *)telNumber{    NSString*pattern =@"^((13[0-9])|(14[5,7])|(15[0-3,5-8])|(17[0,3,5-8])|(18[0-9])|(147))\\d{8}$";        NSPredicate*pred = [NSPredicate predicateWithFormat:@"SELF MATCHES %@",pattern];        BOOL isMatch = [pred evaluateWithObject:telNumber];        return isMatch;}+(BOOL) checkphoneTelNumbel:(NSString *)telNumber{    NSString*pattern =@"^0\\d{2,3}[- ]?\\d{7,8}";        NSPredicate*pred = [NSPredicate predicateWithFormat:@"SELF MATCHES %@",pattern];        BOOL isMatch = [pred evaluateWithObject:telNumber];        return isMatch;}+ (BOOL)checkPassword:(NSString*) password{        NSString*pattern =@"[a-zA-Z0-9]\\w{5,17}";        NSPredicate*pred = [NSPredicate predicateWithFormat:@"SELF MATCHES %@",pattern];        BOOL isMatch = [pred evaluateWithObject:password];        return isMatch;}+ (BOOL)checkUserIdCard:(NSString*)idCard{    NSString*pattern =@"(^[0-9]{15}$)|([0-9]{17}([0-9]|X)$)";        NSPredicate*pred = [NSPredicate predicateWithFormat:@"SELF MATCHES %@",pattern];        BOOL isMatch = [pred evaluateWithObject:idCard];    return isMatch;}+ (BOOL)checkURL : (NSString*) url{    NSString*pattern =@"http(s)?://([\\w-]+\\.)+[\\w-]+(/[\\w-./?%&=]*)?";        NSPredicate*pred = [NSPredicate predicateWithFormat:@"SELF MATCHES %@",pattern];        BOOL isMatch = [pred evaluateWithObject:url];        return isMatch;}+(BOOL) checkEmail:(NSString *)email{    NSString*pattern =@"^\\w+([-+.]\\w+)*@\\w+([-.]\\w+)*\\.\\w+([-.]\\w+)*$";        NSPredicate*pred = [NSPredicate predicateWithFormat:@"SELF MATCHES %@",pattern];        BOOL isMatch = [pred evaluateWithObject:email];        return isMatch;}//+(BOOL) checkName:(NSString *)userName{        NSString*pattern =@"^[\u4E00-\u9FA5A-Za-z0-9_]+$";        NSPredicate*pred = [NSPredicate predicateWithFormat:@"SELF MATCHES %@",pattern];        BOOL isMatch = [pred evaluateWithObject:userName];        return isMatch;}

github下载链接地址:https://github.com/fenglingdeyi/Regular


参考链接:http://toutiao.com/i6231678548520731137/

                  http://www.jianshu.com/p/00da4d87b777




0 0
原创粉丝点击