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}$/