正则表达式判断字符串

2016-04-03  本文已影响62人  好尼桑

1.判断字符串是否为电话号码,你可以取出部分判断联通、移动、电信!

+(BOOL)checkTelNumber:(NSString*)telNumber

{

if (telNumber.length < 11)

{

return NO;

}else{

/**

* 移动号段正则表达式

*/

NSString *CM_NUM = @"^((13[4-9])|(147)|(15[0-2,7-9])|(178)|(18[2-4,7-8]))\\d{8}|(1705)\\d{7}$";

/**

* 联通号段正则表达式

*/

NSString *CU_NUM = @"^((13[0-2])|(145)|(15[5-6])|(176)|(18[5,6]))\\d{8}|(1709)\\d{7}$";

/**

* 电信号段正则表达式

*/

NSString *CT_NUM = @"^((133)|(153)|(177)|(18[0,1,9]))\\d{8}$";

NSPredicate *pred1 = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", CM_NUM];

BOOL isMatch1 = [pred1 evaluateWithObject:telNumber];

NSPredicate *pred2 = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", CU_NUM];

BOOL isMatch2 = [pred2 evaluateWithObject:telNumber];

NSPredicate *pred3 = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", CT_NUM];

BOOL isMatch3 = [pred3 evaluateWithObject:telNumber];

if (isMatch1 || isMatch2 || isMatch3) {

return YES;

}else{

return NO;

}

}

}

2.判断是否有空格

+(BOOL)checkIfHasWhitespaceInString:(NSString *)string{

//    NSString *_string = [NSString stringWithFormat:@"123 456"];

NSRange _range = [string rangeOfString:@" "];

if (_range.location != NSNotFound) {

//有空格

return YES;

}else {

//没有空格

return NO;

}

}

3.判断是否包含特殊字符

+(BOOL)checkIfHasSpecialCharacterInString:(NSString *)string{

//***需要过滤的特殊字符:~¥#&*<>《》()[]{}【】^@/£¤¥|§¨「」『』¢¬ ̄~@#¥&*()——+|《》$_€。

NSRange urgentRange = [string rangeOfCharacterFromSet: [NSCharacterSet characterSetWithCharactersInString: @"~¥#&*<>《》()[]{}【】^@/£¤¥|§¨「」『』¢¬ ̄~@#¥&*()——+|《》$_€"]];

if (urgentRange.location == NSNotFound)

{  //有

return NO;

}

//没有

return YES;

}

上一篇 下一篇

猜你喜欢

热点阅读