-(BOOL) ismobilenumberclassification{
/**
* Mobile phone number
* Mobile: 134[0-8],135,136,137,138,139,150,151,157,158,159,182,187,188,1705
* Unicom: 130,131,132,152,155,156,185,186,1709
* Telecom: 133,1349,153,180,189,1700
*/
NSString * MOBILE = @ "^1 ((3//d|5[0-35-9]|8[025-9))//d|70[059]) \\d{7}$";//General Conditions
/**
10 * Mobile: China Mobile
11 * 134[0-8],135,136,137,138,139,150,151,157,158,159,182,187,188,1705
12 */
NSString * CM = @ "^1 (34[0-8]| ( 3[5-9]|5[017-9]|8[278] \\d|705) \\d{7}$ ";
/**
15 * Unicom: China Unicom
16 * 130,131,132,152,155,156,185,186,1709
* 4G Card (Unicom, Mobile, telecom) 170,176,177,178
17 */
NSString * CU = @ "^1 ((3[0-2]|5[256]|7[0678]|8[56)) \\d|709) \\d{7}$";
/**
20 * China Telecom: Telecom
21 * 133,1349,153,180,189,1700
22 */
NSString * CT = @ "^1 ((33|53|8[09)) \\d|349|700) \\d{7}$";
/**
25 * Mainland China fixed and PHS
26 * Area code: 010,020,021,022,023,024,025,027,028,029
27 * 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];
Nspredicate *regextestphs = [Nspredicate predicatewithformat:@ "Self MATCHES%@", PHS];
if ([regextestcm evaluatewithobject:self] = = YES)
|| ([regextestct evaluatewithobject:self] = = YES)
|| ([regextestcu evaluatewithobject:self] = = YES)
|| ([regextestphs evaluatewithobject:self] = = YES))
{
return YES;
}
Else
{
return NO;
}
}
iOS Dev-determine if the phone number matches the rules