一些常用的正则表达式

简介: 今天在写一些输入验证的时候用到了正则表达式,现在就回顾一下我们常用的正则表达式,对于正则表达式的写法很多种,看个人的习惯了,我的写法也许不是很好,但可以满足基本需求。

今天在写一些输入验证的时候用到了正则表达式,现在就回顾一下我们常用的正则表达式,对于正则表达式的写法很多种,看个人的习惯了,我的写法也许不是很好,但可以满足基本需求。




1、验证用户名和密码:^[A-Za-z0-9]\w{5,15}$


2、座机电话号码:^[A-Za-z0-9]\w{5,15}$


3、验证手机号码:^[1][3456879]\d{9}$


4、验证身份证号(15位或18位数字):^(^[1-9]\d{7}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}$)|(^[1-9]\d{5}[1-9]\d{3}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])((\d{4})|\d{3}[Xx])$)$


对于身份证


身份证15位编码规则:dddddd yymmdd xx p


* dddddd:6位地区编码


* yymmdd: 出生年(两位年)月日,如:910215

* xx: 顺序编码,系统产生,无法确定

* p: 性别,奇数为男,偶数为女

*

* 身份证18位编码规则:dddddd yyyymmdd xxx y

* dddddd:6位地区编码

* yyyymmdd: 出生年(四位年)月日,如:19910215

* xxx:顺序编码,系统产生,无法确定,奇数为男,偶数为女

* y: 校验码,该位数值可通过前17位计算获得

*

* 前17位号码加权因子为 Wi = [ 7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2 ]

* 验证位 Y = [ 1, 0, 10, 9, 8, 7, 6, 5, 4, 3, 2 ]

* 如果验证码恰好是10,为了保证身份证是十八位,那么第十八位将用X来代替

* 校验位计算公式:Y_P = mod( ∑(Ai×Wi),11 )

* i为身份证号码1...17 位; Y_P为校验码Y所在校验码数组位置

*/


5、验证Email地址:^([a-zA-Z0-9]+[_|\-|\.]?)*[a-zA-Z0-9]+@([a-zA-Z0-9]+[_|\-|\.]?)*[a-zA-Z0-9]+(\.[a-zA-Z]{2,3})+$;


6、只能输入由数字和26个英文字母组成的字符串:("^[A-Za-z0-9]+$") ;


7、整数或者小数:^[0-9][0-9.]+[0-9]+$


8、只能输入数字^\d+$


9、只能输入n位的数字:^\d{n}$


10、只能输入至少n位的数字:"^\\d{n,}$"。


11、只能输入m~n位的数字:"^\\d{m,n}$"。


12、只能输入零和非零开头的数字:"^(0|[1-9][0-9]*)$"。


13、只能输入有两位小数的正实数:"^[0-9]+(.[0-9]{2})?$"。


14、只能输入有1~3位小数的正实数:"^[0-9]+(\.[0-9]{1,3})?$"。


15、只能输入汉字:"^[\u4e00-\u9fa5]{0,}$"。

目录
相关文章
|
10月前
常用正则表达式 (必备)
常用正则表达式 (必备)
250 0
|
编译器 测试技术 C++
正则表达式_1
b站:奇乐编程 10分钟快速掌握正则表达式
140 1
正则表达式_1
|
数据安全/隐私保护
正则表达式_2
学习自编程胶囊课程。
109 1
正则表达式_2
|
JavaScript 数据安全/隐私保护
|
前端开发 JavaScript Java
正则表达式总结
创建正则表达式 1.使用RegExp()构造函数来创建 RegExp()构造函数非常有用,特别是在需要动态创建正则表达式的时候,这种情况往往没办法通过写死在代码中的正则表达式直接量来实现。
1042 2
|
Web App开发 JavaScript 前端开发
正则表达式小记
什么是正则表达式 正则表达式是用于匹配字符串中字符组合的模式。在 JavaScript中,正则表达式也是对象。这些模式被用于 RegExp 的 exec 和 test 方法, 以及 String 的 match、replace、search 和 split 方法。
1229 0
|
Perl 运维 Linux
漫谈正则表达式
一、概述 正则表达式(Regular Expression)通常被用来检索、替换那些符合某个模式(规则)的文本。
983 0
|
程序员 Windows
|
机器学习/深度学习 Windows JavaScript