正規表示式用好了在一定程度上能夠簡化的我們的**,是我們的**業務邏輯更清晰。當然雖然寫了這篇部落格我也不知道這些正規表示式每個字元的含義!
1、判斷字串僅為中文
^[\u4e00-\u9fa5]
$
2、校驗密碼強度:只能為大小寫字母或數字 不能包含特殊字元的8-16位字串
^(?![0-9]+$)(?![a-za-z]+$)[a-za-z0-9]
3、身份證號
^[1-9]
\d((0\d)|(1[0-2]))(([0|1|2]
\d)|3[0-1])\d
$ **//15位**
^[1-9]
\d[1-9]
\d((0\d)|(1[0-2]))(([0|1|2]
\d)|3[0-1])\d
([0-9]|x)$ **//18位**
(^[0-9]
$)|([0-9]
([0-9]|x)$) **//通用即15位或18位**
3、手機號
中國移動:134[0-8],135,136,137,138,139,150,151,157,158,159,182,187,188
^1(34[0-8]|(3[5-9]|5[017-9]|8[278])\\d)\\d$
中國聯通:130,131,132,152,155,156,185,186
^1(3[0-2]|5[256]|8[56])\\d$
中國電信:133,1349,153,180,189
^1((33|53|8[09])[0-9]|349)\\d$
大陸地區固話及小靈通:區號:010,020,021,022,023,024,025,027,028,029
^0(10|2[0-5789]|\\d)\\d$
通用:^((13[0-9])|(147)|(15[^4,\\d])|(18[0,5-9]))\\d$
5、郵箱
[a-z0
-9a-z
._%+-]+@
[a-za
-z0-9.-
]+\\.
[a-za-z]
6、銀行卡
正規表示式知道後,還要會用。這裡我們借助謂語nspredicate來幫我們判斷乙個字串是否符合我們所寫的正規表示式
nspredicate *pred = [nspredicate predicatewithformat:@"self matches %@", @"你所寫的正規表示式"];
bool ismatch = [pred evaluatewithobject:@"你所要判斷的字串"];
正規表示式 正規表示式 總結
非負整數 d 正整數 0 9 1 9 0 9 非正整數 d 0 負整數 0 9 1 9 0 9 整數 d 非負浮點數 d d 正浮點數 0 9 0 9 1 9 0 9 0 9 1 9 0 9 0 9 0 9 1 9 0 9 非正浮點數 d d 0 0 負浮點數 正浮點數正則式 英文本串 a za z...
正規表示式 表示式
網域名稱 a za z0 9 a za z0 9 a za z0 9 a za z0 9 interneturl a za z s 或 http w w w 手機號碼 13 0 9 14 5 7 15 0 1 2 3 5 6 7 8 9 18 0 1 2 3 5 6 7 8 9 d 號碼 x x x...
Linux正規表示式 編寫正規表示式
為了所有實用化的用途,你可以通過使用程式產生正確的結果。然而,並不意味著程式總是如你所願的那樣正確地工作。多數情況下,如果程式不能產生想要的輸出,可以斷定真正的問題 排除輸入或語法錯誤 在於如何描述想要的東西。換句話說,應該考慮糾正問題的地方是描述想要的結果的表示式。表示式不完整或者公式表示得不正確...