Use a regular expression to verify the email address and mobile phone number.

Source: Internet
Author: User

Use a regular expression to verify the email address and mobile phone number.

Regular Expression, also known as Regular Expression and Regular Expression (English: Regular Expression, often abbreviated as regex, regexp or RE in code), is a concept of computer science. Regular Expressions use a single string to describe and match a series of strings that conform to a certain syntax rule.

Regular expressions should be used for kids shoes developed for iOS. Regular Expressions help us determine whether a string is valid. For example:

  1. On the app registration page, you must determine whether the mobile phone number format is correct and whether the phone number is 11 characters long.

  2. 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 [1, 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 lines in mainland China and PHS 26 * area code: 010,020,021,022,023,024,025,027,028,029 27 * No: seven or eight digits 28 * // NSString * PHS = @ "^ 0 (10 | 2 [0-5789] | \ d {3 }) \ d {7,8} $ "; NSPredicate * regextestmobile = [NSPredicate response: @" self matches % @ ", MOBILE]; NSPredicate * regextestcm = [NSPredicate predicateWithFormat: @ "self matches % @", CM]; NSPredicate * regextestcu = [NSPredicate predicateWithFormat: @ "self matches % @", CU]; NSPredicate * regextestct = [NSPredicate response: @ "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.

Author Li Gang is the webmaster of the online website (www.superqq.com), author of Baidu baijia Column
IOS engineers are not well-known self-media and the public account is iOS developer: iOSDevTip Operator


Copyright Disclaimer: This article is an original article by the blogger and cannot be reproduced without the permission of the blogger.

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.