各种正则相关

前端之家收集整理的这篇文章主要介绍了各种正则相关前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

身份证号码验证正则表达式

需要一个简单的验证身份证号的正则表达式,从网上查了很多,都有问题,主要是只要超过15位,都能够通过,于是自己查了半天手册,写了下面这个式子,能够满足简单的要求:
1、15位或18位,如果是15位,必需全是数字。
2、如果是18位,最后一位可以是数字或字母Xx,其余必需是数字。

/^(\d{15}$|^\d{18}$|^\d{17}(\d|X|x))$/

从这个表达式想到的:
1、正则表达式首先是要通过正确的
2、限制不正确
3、可以不限制其中的某此规则,但一定要让正确的先通过。



//邮箱 @H_403_36@ + (BOOL) validateEmail:(NSString *)email

@H_403_36@ {

@H_403_36@ NSString *emailRegex = @"[A-Z0-9a-z._%+-]+@[A-Za-z0-9.-]+//.[A-Za-z]{2,4}";

@H_403_36@ NSPredicate *emailTest = [NSPredicate predicateWithFormat:@"SELF MATCHES %@",emailRegex];

@H_403_36@ return [emailTest evaluateWithObject:email];

@H_403_36@ }

@H_403_36@

@H_403_36@

@H_403_36@ //手机号码验证

@H_403_36@ + (BOOL) validateMobile:(NSString *)mobile

@H_403_36@ {

@H_403_36@ //手机号以13, 15,18开头,八个 /d 数字字符

@H_403_36@ NSString *phoneRegex = @"^((13[0-9])|(15[^4,//D])|(18[0,0-9]))//d{8}$";

@H_403_36@ NSPredicate *phoneTest = [NSPredicate predicateWithFormat:@"SELF MATCHES %@",phoneRegex];

@H_403_36@ return [phoneTest evaluateWithObject:mobile];

@H_403_36@ }

@H_403_36@

@H_403_36@

@H_403_36@ //车牌号验证

@H_403_36@ + (BOOL) validateCarNo:(NSString *)carNo

@H_403_36@ {

@H_403_36@ NSString *carRegex = @"^[/u4e00-/u9fa5]{1}[a-zA-Z]{1}[a-zA-Z_0-9]{4}[a-zA-Z_0-9_/u4e00-/u9fa5]$";

@H_403_36@ NSPredicate *carTest = [NSPredicate predicateWithFormat:@"SELF MATCHES %@",carRegex];

@H_403_36@ NSLog(@"carTest is %@",carTest);

@H_403_36@ return [carTest evaluateWithObject:carNo];

@H_403_36@ }

@H_403_36@

@H_403_36@

@H_403_36@ //车型

@H_403_36@ + (BOOL) validateCarType:(NSString *)CarType

@H_403_36@ {

@H_403_36@ NSString *CarTypeRegex = @"^[/u4E00-/u9FFF]+$";

@H_403_36@ NSPredicate *carTest = [NSPredicate predicateWithFormat:@"SELF MATCHES %@",CarTypeRegex];

@H_403_36@ return [carTest evaluateWithObject:CarType];

@H_403_36@ }

@H_403_36@

@H_403_36@

@H_403_36@ //用户名

@H_403_36@ + (BOOL) validateUserName:(NSString *)name

@H_403_36@ {

@H_403_36@ NSString *userNameRegex = @"^[A-Za-z0-9]{6,20}+$";

@H_403_36@ NSPredicate *userNamePredicate = [NSPredicate predicateWithFormat:@"SELF MATCHES %@",userNameRegex];

@H_403_36@ BOOL B = [userNamePredicate evaluateWithObject:name];

@H_403_36@ return B;

@H_403_36@ }

@H_403_36@

@H_403_36@

@H_403_36@ //密码

@H_403_36@ + (BOOL) validatePassword:(NSString *)passWord

@H_403_36@ {

@H_403_36@ NSString *passWordRegex = @"^[a-zA-Z0-9]{6,20}+$";

@H_403_36@ NSPredicate *passWordPredicate = [NSPredicate predicateWithFormat:@"SELF MATCHES %@",passWordRegex];

@H_403_36@ return [passWordPredicate evaluateWithObject:passWord];

@H_403_36@ }

@H_403_36@

@H_403_36@

@H_403_36@ //昵称

@H_403_36@ + (BOOL) validateNickname:(NSString *)nickname

@H_403_36@ {

@H_403_36@ NSString *nicknameRegex = @"^[/u4e00-/u9fa5]{4,8}$";

@H_403_36@ NSPredicate *passWordPredicate = [NSPredicate predicateWithFormat:@"SELF MATCHES %@",nicknameRegex];

@H_403_36@ return [passWordPredicate evaluateWithObject:nickname];

@H_403_36@ }

@H_403_36@

@H_403_36@

@H_403_36@ //身份证

@H_403_36@ + (BOOL) validateIdentityCard: (NSString *)identityCard

@H_403_36@ {

@H_403_36@ BOOL flag;

@H_403_36@ if (identityCard.length <= 0) {

@H_403_36@ flag = NO;

@H_403_36@ return flag;

@H_403_36@ }

@H_403_36@ NSString *regex2 = @"^(//d{14}|//d{17})(//d|[xX])$";

@H_403_36@ NSPredicate *identityCardPredicate = [NSPredicate predicateWithFormat:@"SELF MATCHES %@",regex2];

@H_403_36@ return [identityCardPredicate evaluateWithObject:identityCard];

@H_403_36@ }

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