关闭

正则表达式

标签: iOS正则表达式
111人阅读 评论(0) 收藏 举报
分类:

正则表达式用好了在一定程度上能够简化的我们的代码,是我们的代码业务逻辑更清晰。当然虽然写了这篇博客我也不知道这些正则表达式每个字符的含义!

1、判断字符串仅为中文

^[\u4e00-\u9fa5]{0,}$

2、校验密码强度:只能为大小写字母或数字 不能包含特殊字符的8-16位字符串

^(?![0-9]+$)(?![a-zA-Z]+$)[a-zA-Z0-9]{6,18}

3、身份证号

^[1-9]\d{7}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}$   **//15位**

^[1-9]\d{5}[1-9]\d{3}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}([0-9]|X)$   **//18位**

(^[0-9]{15}$)|([0-9]{17}([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{7}$

中国联通:130,131,132,152,155,156,185,186
^1(3[0-2]|5[256]|8[56])\\d{8}$

中国电信:133,1349,153,180,189
^1((33|53|8[09])[0-9]|349)\\d{7}$

大陆地区固话及小灵通:区号:010,020,021,022,023,024,025,027,028,029
^0(10|2[0-5789]|\\d{3})\\d{7,8}$

通用^((13[0-9])|(147)|(15[^4,\\D])|(18[0,5-9]))\\d{8}$


5、邮箱

[A-Z0-9a-z._%+-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,4}

6、银行卡

http://blog.csdn.net/lixianyue1991/article/details/44938309


正则表达式知道后,还要会用。这里我们借助谓语NSPredicate来帮我们判断一个字符串是否符合我们所写的正则表达式

NSPredicate *pred = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", @"你所写的正则表达式"];
BOOL isMatch = [pred evaluateWithObject:@"你所要判断的字符串"];
1
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:20669次
    • 积分:519
    • 等级:
    • 排名:千里之外
    • 原创:31篇
    • 转载:0篇
    • 译文:0篇
    • 评论:0条
    文章分类