JavaScript RegExp 身份证、账号密码、email正则
什么是正则表达式
正则表达式是构成搜索模式.
在文本中搜索数据时,可以使用此搜索模式来描述正在搜索的内容。
正则表达式可以是单个字符,也可以是更复杂的模式。
正则表达式可用于执行所有类型的文本搜索和文本替换行动。
定义一个正则表达式
js中的正则表达式用RegExp
对象表示,有两种方式创建RegExp
对象。
一种是通过一种特殊的直接量语法创建
var pattern = /s$/
另一种是使用RegExp()
构造函数
var pattern = new RegExp('s$')
学习一段时间后,写了一些常见的正则
<!--用户名正则:4-16位,(字母、数字、下划线、减号)-->
var userreg = /([\w]|[-_]){4,16}$/
<!--密码强度正则:最少6位,包括至少1个大写字母,1个小写字母,1个数字,1个特殊字符-->
var pas = /(?=.*[a-z])(?=.*[0-9])(?=.*[A-Z])(?=.*[!|@|#])^([0-9A-Za-z!@#]{6,}$)/;
<!--身份证号正则(18位/15位)-->
<!--身份证:xxxxxx yyyy MM dd zzz X/x 十八位-->
<!--身份证:地区 年 月 日 序列号-->
<!--身份证:xxxxxx yy MM dd 75 0 十五位-->
地区:[1-9]\d{5}
年: (18|19|([23]\d))\d{2} 1800-3999
月:((0[1-9])|(10|11|12))
日:(([0-2][1-9])|10|20|30|31)
序列号:\d{3}[0-9Xx]
var idreg = /^[1-9]\d{5}(18|19|([23]\d))\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$/
<!--email正则:\dxxx@xxx.com-->
var emailreg = /^\w{3,}(\.\w+)*@[A-z 0-9]+(\.[A-z]{2,5}){1,2}$/