Verifying mailboxes and phone numbers with regular expressions

Source: Internet
Author: User

Regular expressions, also known as formal notation, conventional notation (English: Regular expression, often abbreviated in code as regex, RegExp, or re), is a concept of computer science. A regular expression uses a single string to describe and match a series of strings that conform to a certain syntactic rule.

You should have used regular expressions for the children's shoes developed by iOS. A regular expression is a good way to help us determine whether a string is legitimate. Like what:

    1. In the App registration page, you need to determine whether the phone number is formatted correctly, whether it is enough 11 bits.

    2. When you do feedback, you need to determine whether the mailbox format is correct.

Judging the phone number and judging the mailbox should be the most commonly used by iOS developers. How to judge, simple collation as follows:

Verify Mailbox
+ (BOOL)validateEmail:(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];    return [emailTest evaluateWithObject:email];}

Nspredicate is a foundation class that is used for querying, both in principle and in usage similar to where in SQL.

A simple way to verify your phone number
+ (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 simply to determine the phone number format. In fact, the format of the phone is still a bit complex.

Detailed method of judging
Regular Judge mobile phone number format + (BOOL) Validatephone: (NSString *) phone{/** * Mobile phone number * Move: 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 */N       sstring * MOBILE = @ "^1 (3[0-9]|5[0-35-9]|8[025-9]) \\d{8}$";         /** 10 * Mobile: China Mobile 11 * 134[0-8],135,136,137,138,139,150,151,157,158,159,182,187,188 */NSString * CM = @ "^1 (34[0-8]| (       3[5-9]|5[017-9]|8[278] \\d) \\d{7}$ "; /** 15 * Unicom: China Unicom * 130,131,132,152,155,156,185,186 * * N       sstring * CU = @ "^1 (3[0-2]|5[256]|8[56]) \\d{8}$"; /** 20 * China Telecom: Chinese Telecom * 133,1349,153,180,189 * * * NSString *       CT = @ "^1 ((33|53|8[09]) [0-9]|349) \\d{7}$"; /** 25 * Mainland China Landline and PHS 26 * Area code: 010,020,021,022,023,024,025,027,028,029 27 *Number: seven-bit or eight-bit * *//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: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 paragraph (from the network) is the mobile phone number to determine the detailed method. Basically this judgment is enough, if the three major operators, and then out of other segments of the mobile phone number. Direct son ah above do simple modification can.

Verifying mailboxes and phone numbers with regular expressions

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.