1. #pragma mark determines the format of the mailbox, cell phone, QQ:
-(BOOL) Isvalidateemail: (nsstring *) email{
nsstring *emailregex = @ "[A-z0-9a-z._%+-][email protected][a-za-z0-9.-]+\\.[ a-za-z]{2,4} ";
nspredicate *emailtest = [nspredicate predicatewithformat:@ "self MATCHES%@", Emailregex];
self. Emailright = [emailtest evaluatewithobject: email];
return self . Emailright;
}
2. Verify the format of the phone number
-(BOOL) Ismobilenumber: (nsstring *) mobilenum
{
/**
* Mobile phone number
* Mobile:134[0-8],135,136,137,138,139,150,151,157,158,159,182,187,188
* unicom:130,131,132,152,155,156,185,186
* Telecom:133,1349,153,180,189
*/
nsstring * MOBILE = @ "^1 (3[0-9]|5[0-35-9]|8[025-9]) \\d{8}$";
/**
Mobile: China Mobile
11 * 134[0-8],135,136,137,138,139,150,151,157,158,159,182,187,188
12 */
nsstring * CM = @ "^1 (34[0-8]| ( 3[5-9]|5[017-9]|8[278] \\d) \\d{7}$ ";
/**
Chinese Unicom: ChinaUnicom
16 * 130,131,132,152,155,156,185,186
17 */
nsstring * CU = @ "^1 (3[0-2]|5[256]|8[56]) \\d{8}$";
/**
* China Telecom: ChineseTelecom
21 * 133,1349,153,180,189
22 */
nsstring * CT = @ "^1 ((33|53|8[09)) [0-9]|349] \\d{7}$";
/**
* Mainland China fixed and PHS
* Area code:010,020,021,022,023,024,025,027,028,029
* Number: seven-bit or eight-bit
28 */
//NSString * PHS = @ "^0 (10|2[0-5789]|\\d{3}) \\d{7,8}$";
nspredicate *regextestmobile = [nspredicate predicatewithformat:@ "self MATCHES%@" , MOBILE];
nspredicate *regextestcm = [nspredicate predicatewithformat:@ "Self MATCHES%@" , CM];
nspredicate *regextestcu = [nspredicate predicatewithformat:@ "self MATCHES%@", CU];
nspredicate *regextestct = [nspredicate predicatewithformat:@ "Self MATCHES%@" , CT];
if ([Regextestmobile evaluatewithobject: mobilenum] = = YES)
|| ([REGEXTESTCM evaluatewithobject: mobilenum] = = YES)
|| ([REGEXTESTCT evaluatewithobject: mobilenum] = = YES)
|| ([Regextestcu evaluatewithobject: mobilenum] = = YES))
{
self. Phoneright = 1;
return YES;
}
Else
{
self. Phoneright = 0;
return NO;
}
}
Validate input format