正则表达式

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

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
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值