[toc] # 常用正则表达式 > 平时可能用得到的一些正则 ## 使用方法 ### javascript验证 ```javascript /^[\u4e00-\u9fa5],{0,}$/.test('你好'); // 通过为true, 不通过为false ``` > 正则需要用`/`包裹起来 ## 常用正则 ### 匹配中文 ``` [\u4e00-\u9fa5] ``` ``` ^[\u4e00-\u9fa5],{0,}$ ``` ### 空白行 ``` \n\s*\r ``` ### 邮箱 ``` [\w!#$%&'*+/=?^_`{|}~-]+(?:\.[\w!#$%&'*+/=?^_`{|}~-]+)*@(?:[\w](?:[\w-]*[\w])?\.)+[\w](?:[\w-]*[\w])? ``` ``` ^[a-zA-Z0-9_-]+@[a-zA-Z0-9_-]+[\.][a-zA-Z0-9_-]+$ ``` ### 验证网址 ``` [a-zA-z]+://[^\s]* ``` > 正确格式为: http://edk24.com , https://baidu.com, ftp://ggggg, ssh://xxxxx ### 国内电话号码 ``` \d{3}-\d{8}|\d{4}-\{7,8} ``` > 正确格式为:XXXX-XXXXXXX,XXXX-XXXXXXXX,XXX-XXXXXXX,XXX-XXXXXXXX,XXXXXXX,XXXXXXXX。 ### 手机号码 ``` /^1[34578]\d{9}$/ ``` > 正确格式为: 183****8014 ### QQ号 ``` [1-9][0-9]{4,} ``` ### 身份证号码 支持15和18位身份证 ``` (^[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]$)|(^[1-9]\d{5}\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}$) ``` ### 18位身份证 ``` ^(\d{6})(\d{4})(\d{2})(\d{2})(\d{3})([0-9]|X)$ ``` ### 15位身份证 ``` /^[1-9]\d{7}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}$/ ``` ### 数字 ``` \d+ ``` ### 小数 ``` (-?\d*)\.?\d+ ``` > 正确格式为: 0.4, 1.7 .... ### 密码强度 ``` ^[a-zA-Z]\w{5,17}$ ``` > 正确格式为:以字母开头,长度在6-18之间,只能包含字符、数字和下划线。 ``` ^(?=.*[A-Za-z])(?=.*\d)[A-Za-z\d]{8,}$ ``` > 至少八个字符,至少一个字母和一个数字 ``` ^(?=.*[A-Za-z])(?=.*\d)(?=.*[$@$!%*#?&])[A-Za-z\d$@$!%*#?&]{8,}$ ``` > 至少八个字符,至少一个字母,一个数字和一个特殊字符 ``` ^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[$@$!%*?&])[A-Za-z\d$@$!%*?&]{8,} ``` > 至少八个字符,至少一个大写字母,一个小写字母,一个数字和一个特殊字符 ``` ^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[$@$!%*?&])[A-Za-z\d$@$!%*?&]{8,10} ``` > 最少八个最多十个字符,至少一个大写字母,一个小写字母,一个数字和一个特殊字符