iOS 常用的正規表示式總結(待更新)

2021-08-08 19:03:24 字數 3633 閱讀 4460

1.手機號11位

//中國移動

nsstring * mobile = @"^1([3-9][0-9]|5[0-35-9]|8[025-9])\\d$";

//中國聯通

nsstring * cm = @"^1(3[0-2]|5[256]|8[56])\\d$";

//中國電信

nsstring * cu = @"^1([3-8][0-2]|5[256]|8[56])\\d$";

//大陸地區固話及小靈通

nsstring * ct = @"^1((33|53|8[09])[0-9]|349)\\d$";

2.固定**

//驗證輸入的固話中不帶 "-"符號

nsstring * strnum = @"^(0[0-9])?([2-9][0-9])+(-[0-9])?$|(^(13[0-9]|15[0|3|6|7|8|9]|18[8|9])\\d$)";

//驗證輸入的固話中帶 "-"符號

nsstring * strnum = @"^(0[0-9]-)?([2-9][0-9])+(-[0-9])?$|(^(13[0-9]|15[0|3|6|7|8|9]|18[8|9])\\d$)";

3.社會信用**

nsstring *scn = @"^([0-9abcdefghjklmnpqrtuwxy])([0-9])([0-9abcdefghjklmnpqrtuwxy])([0-9y])$";
4.匹配中文字元

nsstring *string = @"[\u4e00-\u9fa5]";
5.匹配雙位元組字元(包括漢字)

nsstring *string = @"[^\x00-\xff]";
6.匹配空白行

nsstring *string = @"\n\s*\r";
7.匹配email位址

nsstring *string = @"[\w!#$%&'*+/=?^_`~-]+(?:\.[\w!#$%&'*+/=?^_`~-]+)*@(?:[\w](?:[\w-]*[\w])?\.)+[\w](?:[\w-]*[\w])?";
8.匹配**url

nsstring *string = @"[a-za-z]+://[^\s]*";
nsstring *string = @"[1-9][0-9]「;
10.匹配郵編

nsstring *string = @"[1-9]\d(?!\d)";
11.匹配18位身份證號

nsstring *string = @"^(\d)(\d)(\d)(\d)(\d)([0-9]|x)$";
12.匹配日期(年-月-日)格式

nsstring *string = @"([0-9][1-9]|[0-9][1-9][0-9]|[0-9][1-9][0-9]|[1-9][0-9])-(((0[13578]|1[02])-(0[1-9]|[12][0-9]|3[01]))|((0[469]|11)-(0[1-9]|[12][0-9]|30))|(02-(0[1-9]|[1][0-9]|2[0-8])))";
13.匹配整數

nsstring *string = @"^[1-9]\d*$」;
14.匹配負數

nsstring *string = @"^-[1-9]\d*$";
15.除了特殊字元

nsstring *str =@"^[a-za-z0-9\\u4e00-\u9fa5]+$";
16.長度大於

6位後再接著判斷是否同時包含數字和大小寫字母

nsstring * regex =@"^(?![0-9]+$)(?![a-za-z]+$)[0-9a-za-z]$";
17.車型

nsstring *regex2 = @"^[\\u4e00-\\u9fff]+$";
18.車牌號

nsstring *carregex = @"^[\\u4e00-\\u9fff][a-za-z][-][a-za-z_0-9][a-za-z_0-9_\\u4e00-\\u9fff]$";//其中\\u4e00-\\u9fa5表示unicode編碼中漢字已編碼部分,\\u9fa5-\\u9fff是保留部分,將來可能會新增
19.ip位址有效性

nsstring *regex = [nsstringstringwithformat:@"^(\\\\d)\\\\.(\\\\d)\\\\.(\\\\d)\\\\.(\\\\d)$"];
20.mac位址
nsstring * macaddregex = @"([a-fa-f\\\\d]:)[a-fa-f\\\\d]";
21.工商稅號

nsstring *taxnoregex = @"[0-9]\\\\d([0-9]|x)$";
22.身份證號驗證

nsstring *regex2 = @"^(\\d|\\d)(\\d|[xx])$";

舉例用法:

+ (bool)ismobilenumber:(nsstring *)telephonenum$";

//中國聯通

nsstring * cm = @"^1([3-8][0-8]|(3[5-9]|5[017-9]|8[278])\\d)\\d$";

//中國電信

nsstring * cu = @"^1([3-8][0-2]|5[256]|8[56])\\d$";

//大陸地區固話及小靈通

// nsstring * ct = @"^1((33|53|8[09])[0-9]|349)\\d$";

nspredicate *regextestmobile = [nspredicatepredicatewithformat:@"self matches %@", mobile];

nspredicate *regextestcm = [nspredicatepredicatewithformat:@"self matches %@", cm];

nspredicate *regextestcu = [nspredicatepredicatewithformat:@"self matches %@", cu];

if ((([regextestmobileevaluatewithobject:telephonenum] == yes) || ([regextestcm evaluatewithobject:telephonenum] ==yes) || ([regextestcu evaluatewithobject:telephonenum] ==yes))&&telephonenum.length ==11) else

}

君凱商聯網-ios-字唐名僧

IOS常用正規表示式

原文 匹配中文 u4e00 u9fa5 英文本母 a za z 數字 0 9 匹配中文,英文本母和數字及 u4e00 u9fa5 a za z0 9 同時判斷輸入長度 u4e00 u9fa5 a za z0 9 w u4e00 u9fa5 uf900 ufa2d 1 乙個正規表示式,只含有漢字 數字...

常用正規表示式總結

只能輸入數字 0 9 只能輸入 n 位的數字 d 只能輸入至少 n 位的數字 d 只能輸入 m n 位的數字 d 只能輸入零和非零開頭的數字 0 1 9 0 9 只能輸入有兩位小數的正實數 0 9 0 9 只能輸入有 1 3 位小數的正實數 0 9 0 9 只能輸入非零的正整數 1 9 0 9 只能...

常用正規表示式總結

1.只允許輸入漢字和逗字,並且開頭和結尾不能是逗號,u4e00 u9fa5 u4e00 u9fa5 u4e00 u9fa5 u4e00 u9fa5 2.查詢所有的藥名 用量 單位 src s s 2.src s s 7.使用正規表示式匹配url中的網域名稱 http 會匹配 http msnbc t...