国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > iOS > 正文

淺談iOS應用中的相關正則及驗證

2020-07-26 02:50:37
字體:
來源:轉載
供稿:網友

1、手機號碼的驗證正則

正則表達式:

^((13[0-9])|(15[^4,//D])|(18[0,0-9]))//d{8}$

詳細解釋

解釋:

•^...$:
^:開始

$:結束

中間為要處理的字串

•(13[0-9]): 以13開頭接下來一位為0-9之間的數
13 : 以13開頭

[0-9]:分割語法,13后面是0-9之間的數

•| : 或(or), 將前后兩個匹配條件進行or運算

• (15[^4//D]) : 以15開頭接下來一位是除4之外的0-9數字
15 : 以15開頭

[^4//D] : 除了4之外的所有0-9的數字

^:此處為非 ^4 為除4之外的任何字符

/D: /D為非數字 `/`為轉義字符

•(18[0,2,5-9]) : 以18開頭接下來一位為0或者2或者5-9之間的數

•/d{8} : 8個0-9的數字
/d:0-9之間的數字

{8} : 匹配8次

正則表達式的使用:

+ (BOOL)isMobileNumber:(NSString *)mobileNumber{  //手機號以13, 15,18開頭,八個 /d 數字字符  NSString *phoneRegex = @"^((13[0-9])|(15[^4,//D])|(18[0,0-9]))//d{8}$";  NSPredicate *phoneTest = [NSPredicate predicateWithFormat:@"SELF MATCHES %@",phoneRegex];  return [phoneTest evaluateWithObject:mobileNumber]; }

2、身份證驗證

/** * 身份證號 * @param NSString 身份證號字符串 * @return 是否身份證號 * d{14} 14位數字 */+ (BOOL) validateIdentityCard: (NSString *)identityCard{   BOOL flag;  if (identityCard.length <= 0) {    flag = NO;    return flag;  }  NSString *regex2 = @"^(//d{14}|//d{17})(//d|[xX])$";  NSPredicate *identityCardPredicate = [NSPredicate predicateWithFormat:@"SELF MATCHES %@",regex2];  return [identityCardPredicate evaluateWithObject:identityCard];}
/** * 精確驗證身份證號 * @param IdentityNum 身份證號  * @return 是否是身份證號 */+(BOOL)isValidWithIdentityNum:(NSString *)IdentityNum{  //先正則匹配  //......    //計算最后一位余數  NSArray *arrExp = [NSArray arrayWithObjects:@"7", @"9", @"10", @"5", @"8", @"4", @"2", @"1", @"6", @"3", @"7", @"9", @"10", @"5", @"8", @"4", @"2", nil];  NSArray *arrVaild = [NSArray arrayWithObjects:@"1", @"0", @"X", @"9", @"8", @"7", @"6", @"5", @"4", @"3", @"2", nil];    long sum = 0;  for (int i = 0; i < (IdentityNum.length -1); i++) {    NSString * str = [IdentityNum substringWithRange:NSMakeRange(i, 1)];    sum += [str intValue] * [arrExp[i] intValue];  }    int idx = (sum % 11);  if ([arrVaild[idx] isEqualToString:[IdentityNum substringWithRange:NSMakeRange(IdentityNum.length - 1, 1)]]) {    return YES;  }else{    return NO;  }  return YES;}

3、郵箱驗證

/** * 驗證郵箱 * * @param email 郵箱字符串 * * @return 是否郵箱 * * [A-Z0-9a-z] 表示 A-Z 與 0-9 與 a-z 任意一個 * {2,4}    表示 字符位大于2個,小于4個 */+ (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];}

4、用戶名驗證

/** * 用戶名驗證 * * @param NSString 用戶名字符串 * * @return 是否用戶名 * {6,20} 6到20位 */+ (BOOL) validateUserName:(NSString *)name{  NSString *userNameRegex = @"^[A-Za-z0-9]{6,20}+$";  NSPredicate *userNamePredicate = [NSPredicate predicateWithFormat:@"SELF MATCHES %@",userNameRegex];  BOOL B = [userNamePredicate evaluateWithObject:name];  return B;}

5、密碼認證

/** * 密碼認證 * * @param NSString 密碼字符串 * * @return 是否密碼 * {6,20} 6到20位 */+ (BOOL) validatePassword:(NSString *)passWord{  NSString *passWordRegex = @"^[a-zA-Z0-9]{6,20}+$";  NSPredicate *passWordPredicate = [NSPredicate predicateWithFormat:@"SELF MATCHES %@",passWordRegex];  return [passWordPredicate evaluateWithObject:passWord];}

6、驗證昵稱

/** * 驗證昵稱 * * @param NSString 昵稱字符串 * * @return 是否昵稱 * {4,8} 4到8位 */+ (BOOL) validateNickname:(NSString *)nickname{  NSString *nicknameRegex = @"^[/u4e00-/u9fa5]{4,8}$";  NSPredicate *passWordPredicate = [NSPredicate predicateWithFormat:@"SELF MATCHES %@",nicknameRegex];  return [passWordPredicate evaluateWithObject:nickname];}

6、4位驗證碼驗證

/** * 4位驗證碼 * * @param verifyCode 驗證碼 * * @return 是否是驗證碼 */+ (BOOL) validateVerifyCode:(NSString *)verifyCode{  BOOL flag;  if (verifyCode.length <= 0) {    flag = NO;    return flag;  }  NSString *regex2 = @"^(//d{4})$";  NSPredicate *verifyCodePredicate = [NSPredicate predicateWithFormat:@"SELF MATCHES %@",regex2];  return [verifyCodePredicate evaluateWithObject:verifyCode];}

以上這篇淺談iOS應用中的相關正則及驗證就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持武林網。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 方正县| 营山县| 丽江市| 镇江市| 军事| 梁河县| 汾阳市| 龙游县| 香河县| 铜川市| 红桥区| 菏泽市| 沧源| 桐柏县| 冀州市| 林甸县| 武隆县| 广德县| 通道| 康平县| 濉溪县| 广南县| 赫章县| 利川市| 永定县| 武平县| 吴旗县| 平武县| 桓台县| 报价| 都匀市| 濮阳县| 肃北| 鄂托克旗| 博爱县| 远安县| 泰安市| 普陀区| 汾西县| 辛集市| 修文县|