When providing feedback, you must determine whether the email format is correct.
Judging mobile phone numbers and determining email addresses should be the most commonly used by iOS developers. The specific judgment is as follows:
Verify email+ (BOOL)validateEmail:(NSString *)email{ NSString *emailRegex = @[A-Z0-9a-z._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}; NSPredicate *emailTest = [NSPredicate predicateWithFormat:@SELF MATCHES %@, emailRegex]; return [emailTest evaluateWithObject:email];}
NSPredicate is a Foundation class used for query. Its principles and usage are similar to where in SQL.
Simple Method for mobile phone number verification+ (BOOL)validatePhone:(NSString *)phone{ NSString *phoneRegex = @1[3|5|7|8|][0-9]{9}; NSPredicate *phoneTest = [NSPredicate predicateWithFormat:@SELF MATCHES %@, phoneRegex]; return [phoneTest evaluateWithObject:phone];}
This is just a simple judgment of the mobile phone number format. In fact, the mobile phone format is still a bit complicated.
Detailed Judgment Method// Regular expression to determine the mobile phone number format + (BOOL) validatePhone :( NSString *) phone {/*** mobile phone number *: 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 * China Telecom: 133,1349, 153,180,189 */NSString * MOBILE = @ ^ 1 (3 [0-9] | 5 [0-35-9] | 8 [025-9]) \ d {8 }$;/** 10 * China 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 }$;/** 15 * China Unicom: china Unicom 16*130,131,132,152,155,156,185,186 17 */NSString * CU = @ ^ 1 (3 [0-2] | 5 [256] | 8 [56]) \ d {8} $; /** 20 * China Telecom: China Telecom 21*133,1349, 153,180,189 22 */NSString * CT = @ ^ 1 (33 | 53 | 8 [09]) [0-9] | 349) \ d {7} $;/** 25 * fixed line and PHS 26 * area code: 010,020,021,022,023,024,025,027,028,029 27 * Number: seven or eight-digit 28 * // NSString * PHS = @ ^ 0 (10 | 2 [0-5789] | \ d {3}) \ d {} $; NSPredicate * regextestmobile = [NSPredicate predicateWithFormat: @ self matches % @, MOBILE]; NSPredicate * regextestcm = [NSPredicate attributes: @ self matches % @, CM]; NSPredicate * regextestcu = [NSPredicate predicateWithFormat: @ self matches % @, CU]; NSPredicate * regextestct = [NSPredicate primary: @ self matches % @, CT]; if ([regextestmobile evaluateWithObject: phone] = YES) | ([regextestcm evaluateWithObject: phone] = YES) | ([regextestct evaluateWithObject: phone] = YES) | ([regextestcu evaluateWithObject: phone] = YES) {if ([regextestcm evaluateWithObject: phone] = YES) {NSLog (@ China Mobile );} else if ([regextestct evaluateWithObject: phone] = YES) {NSLog (@ China Telecom);} else if ([regextestcu evaluateWithObject: phone] = YES) {NSLog (@ China Unicom);} else {NSLog (@ Unknow);} return YES;} else {return NO ;}}
The above section (from the Network) is a detailed method for judging the mobile phone number. Basically, this judgment is enough. If the three major carriers issue another mobile phone number. Just make a simple modification.