正则表达式

原创 2016年05月30日 16:36:19

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

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:@"你所要判断的字符串"];
版权声明:本文为博主原创文章,欢迎大家转载!当然你要注明出处。。。

正则表达式之?、(?:pattern)、(?!pattern)、(?=pattern)理解及应用

今天朋友问我一个问题,是这样子的,通过正则表达式匹配html标签input包含hidden的字符串,具体如下: "" 匹配下来,应该输出: "" 读了这个问题之后,觉得挺简单的,直...
  • sunhuaer123
  • sunhuaer123
  • 2013年11月15日 19:09
  • 59727

正则表达式 "^+$"等符号意义

1、字符/: 意义:对于字符,通常表示按字面意义,指出接着的字符为特殊字符,不作解释. 例如:/b/匹配字符’b’,通过在b 前面加一个反斜杠,也就是/b/,则该字符变成特殊字符,表示匹配一个单词的分...
  • github_36362235
  • github_36362235
  • 2016年11月23日 11:31
  • 1818

正则表达式——入门

写程序7年,从我身边接触到的人来看,相当多的程序员把正则表达式看得很高深,甚至觉得是一道不可跨越的鸿沟。有此想法的原因很简单:只是因为你没有花上几个小时的时间去学习一下正则的基础。对,只需要几个小时,...
  • sq_zhuyi
  • sq_zhuyi
  • 2013年10月18日 10:29
  • 18570

最全正则表达式汇总—想要的都有了

正则式太难学,而且容易忘记 ,西西是看过很多次,都是一会就全部不记得了滴。很多不太懂正则的朋友,在遇到需要用正则校验数据时,往往是在网上去找很久,结果找来的还是不很符合要求。所以我最近把开发中常用的一...
  • SH_King
  • SH_King
  • 2015年07月24日 14:01
  • 1390

正则表达式简介及在C++11中的简单使用

正则表达式简介及在C++11中的简单使用
  • fengbingchun
  • fengbingchun
  • 2017年02月02日 13:41
  • 7678

正则表达式常见例题

常见例题 例1:北美地区的电话号     编码方案:电话号码有一个3位数的区号和一位7位数的号码组成(这个7位数有分成  一个3位的局号和一个4位的路号,局号和路号之间使用连字符分隔) 每位电话号...
  • wenwen1538
  • wenwen1538
  • 2014年11月09日 15:23
  • 2372

正则表达式中的"^"这个符号的一些思考

在学习正则表达式的时候,一些常见的规则我们都不难理解,但是有 一个正则表达式中的特殊字符让我一直有点搞不懂,就是”^”这个字符,文档上给出了解释是匹配输入的开始,如果多行标示被设置成了true,同时会...
  • sufubo
  • sufubo
  • 2016年03月27日 11:03
  • 18923

正则表达式全解析+常用示例

在开始写这篇文章之前,我的心里还是纠结的。我在问自己要不要写这篇东西,关于相似的内容网上多如牛毛,而且还不乏珍品,况且,就算我写了也不一定能写的好。但是现在你既然看到了,那说明我还是写了出来。就算是对...
  • xuemoyao
  • xuemoyao
  • 2012年09月29日 18:40
  • 25674

正则表达式的四种功能

正则表达式主要是针对字符串进行操作,可以简化对字符串的复杂操作,其主要功能有匹配、切割、替换、获取。 一、匹配 检查字符串是否符合正则表达式中的规则,有一次不匹配,则返回false。如: Str...
  • tanpeng199134
  • tanpeng199134
  • 2016年09月18日 08:19
  • 1873

正则表达式中的逻辑运算符或(怎么用逻辑运算符或连接两个正则表达式)

今天使用正则表达式是遇到一个问题, 磨了半天, 发现犯了个低级错误, 因此记录下来加深印象 问题描述:  我需要把 ^drawable(-[a-zA-Z0-9]+)*$  和  ^mipmap(-[a...
  • voo00oov
  • voo00oov
  • 2015年07月20日 11:07
  • 9757
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:正则表达式
举报原因:
原因补充:

(最多只允许输入30个字)