码迷,mamicode.com
首页 > 移动开发 > 详细

几个ios正则表达式 判断邮箱 手机号码 身份证号码

时间:2015-12-17 15:50:44      阅读:326      评论:0      收藏:0      [点我收藏+]

标签:

 

[objc] view plaincopy
 
  1. //判断是否为邮箱  
  2. - (BOOL) validateEmail: (NSString *) candidate  
  3. {  
  4.     NSString *emailRegex = @"[A-Z0-9a-z._%+-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,4}";  
  5.     NSPredicate *emailTest = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", emailRegex];  
  6.     return [emailTest evaluateWithObject:candidate];  
  7. }  
[objc] view plaincopy
 
  1. // 正则判断手机号码地址格式  
  2. - (BOOL)isMobileNumber:(NSString *)mobileNum  
  3. {  
  4.        /** 
  5.         * 手机号码 
  6.         * 移动:134[0-8],135,136,137,138,139,150,151,157,158,159,182,187,188 
  7.         * 联通:130,131,132,152,155,156,185,186 
  8.         * 电信:133,1349,153,180,189 
  9.         */  
  10.        NSString * MOBILE = @"^1(3[0-9]|5[0-35-9]|8[025-9])\\d{8}$";  
  11.        /** 
  12.         10         * 中国移动:China Mobile 
  13.         11         * 134[0-8],135,136,137,138,139,150,151,157,158,159,182,187,188 
  14.         12         */  
  15.        NSString * CM = @"^1(34[0-8]|(3[5-9]|5[017-9]|8[278])\\d)\\d{7}$";  
  16.        /** 
  17.         15         * 中国联通:China Unicom 
  18.         16         * 130,131,132,152,155,156,185,186 
  19.         17         */  
  20.        NSString * CU = @"^1(3[0-2]|5[256]|8[56])\\d{8}$";  
  21.        /** 
  22.         20         * 中国电信:China Telecom 
  23.         21         * 133,1349,153,180,189 
  24.         22         */  
  25.        NSString * CT = @"^1((33|53|8[09])[0-9]|349)\\d{7}$";  
  26.        /** 
  27.         25         * 大陆地区固话及小灵通 
  28.         26         * 区号:010,020,021,022,023,024,025,027,028,029 
  29.         27         * 号码:七位或八位 
  30.         28         */  
  31.       // NSString * PHS = @"^0(10|2[0-5789]|\\d{3})\\d{7,8}$";  
  32.       
  33.      NSPredicate *regextestmobile = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", MOBILE];  
  34.      NSPredicate *regextestcm = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", CM];  
  35.      NSPredicate *regextestcu = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", CU];  
  36.      NSPredicate *regextestct = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", CT];  
  37.       
  38.     if (([regextestmobile evaluateWithObject:mobileNum] == YES)  
  39.     || ([regextestcm evaluateWithObject:mobileNum] == YES)  
  40.     || ([regextestct evaluateWithObject:mobileNum] == YES)  
  41.     || ([regextestcu evaluateWithObject:mobileNum] == YES))  
  42.     {  
  43.         return YES;  
  44.     }  
  45.     else   
  46.     {  
  47.         return NO;  
  48.     }  
  49. }  
[objc] view plaincopy
 
  1. //身份证号  
  2. + (BOOL) validateIdentityCard: (NSString *)identityCard  
  3. {  
  4.     BOOL flag;  
  5.     if (identityCard.length <= 0) {  
  6.         flag = NO;  
  7.         return flag;  
  8.     }  
  9.     NSString *regex2 = @"^(\\d{14}|\\d{17})(\\d|[xX])$";  
  10.     NSPredicate *identityCardPredicate = [NSPredicate predicateWithFormat:@"SELF MATCHES %@",regex2];  
  11.     return [identityCardPredicate evaluateWithObject:identityCard];  
  12. }  

几个ios正则表达式 判断邮箱 手机号码 身份证号码

标签:

原文地址:http://www.cnblogs.com/konglei/p/5054306.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!