驗證手機號的有效性
概述
驗證手機號的有效性,必須11位,數字1開頭。
通過正則表達式來判斷。
下文中用到的正則表達式字符串爲 "^((1[34578]))\\d{9}$"
Code
源碼下載地址,源碼中包含各種字符串(手機號、郵箱、中文名、身份證號等)校驗方法
+ (BOOL) checkEmptyString:(NSString *) string {
if (string == nil) return string == nil;
NSString *newStr = [string stringByReplacingOccurrencesOfString:@" " withString:@""];
return [newStr isEqualToString:@""];
}
/**
判斷是否是有效的手機號
@param mobileNo 手機號碼
@return 如果是有效的手機號,返回`YES` 否則返回`NO`
*/
+ (BOOL) isVaildMobileNo:(NSString *)mobileNo
{
if ([MMCheckTool checkEmptyString:mobileNo]) return NO;
NSString *phoneRegex = @"^((1[34578]))\\d{9}$";
NSPredicate *phoneTest = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", phoneRegex];
return [phoneTest evaluateWithObject:mobileNo];
}
Test
//手機號
{
BOOL a = [MMCheckTool isVaildMobileNo:@"15121178175"];
BOOL b = [MMCheckTool isVaildMobileNo:@"151211781755"];
BOOL c = [MMCheckTool isVaildMobileNo:@"1512117817"];
BOOL d = [MMCheckTool isVaildMobileNo:@"1234-+_+"];
BOOL e = [MMCheckTool isVaildMobileNo:@"qwertyuiopq"];
BOOL f = [MMCheckTool isVaildMobileNo:@""];
BOOL g = [MMCheckTool isVaildMobileNo:nil];
NSLog(@"手機號=====》%d%d%d%d%d%d%d",a,b,c,d,e,f,g); //打印結果爲 1000000
}