元符号
字符 描述 \ 将下一个字符标记为一个特殊字符、或一个原义字符、或一个 向后引用、或一个八进制转义符。 ^ 匹配输入字符串的开始位置。如果设置了 RegExp 对象的 Multiline 属性,^ 也匹配 ‘\n’ 或 ‘\r’ 之后的位置。在[]中代码! $ 匹配输入字符串的结束位置。如果设置了RegExp 对象的 Multiline 属性,$ 也匹配 ‘\n’ 或 ‘\r’ 之前的位置。 * 匹配前面的子表达式零次或多次。例如,zo* 能匹配 “z” 以及 “zoo”。* 等价于{0,}。 + 匹配前面的子表达式一次或多次。例如,’zo+’ 能匹配 “zo” 以及 “zoo”,但不能匹配 “z”。+ 等价于 {1,}。 ? 匹配前面的子表达式零次或一次。例如,”do(es)?” 可以匹配 “do” 或 “does” 。? 等价于 {0,1}。 {n} n 是一个非负整数。匹配确定的 n 次。例如,’o{2}’ 不能匹配 “Bob” 中的 ‘o’,但是能匹配 “food” 中的两个 o。 {n,} n 是一个非负整数。至少匹配n 次。例如,’o{2,}’ 不能匹配 “Bob” 中的 ‘o’,但能匹配 “foooood” 中的所有 o。’o{1,}’ 等价于 ‘o+’。’o{0,}’ 则等价于 ‘o*’。 {n,m} m 和 n 均为非负整数,其中n <= m。最少匹配 n 次且最多匹配 m 次。例如,”o{1,3}” 将匹配 “fooooood” 中的前三个 o。’o{0,1}’ 等价于 ‘o?’。请注意在逗号和两个数之间不能有空格。 ? 当该字符紧跟在任何一个其他限制符 (*, +, ?, {n}, {n,}, {n,m}) 后面时,匹配模式是非贪婪的。非贪婪模式尽可能少的匹配所搜索的字符串,而默认的贪婪模式则尽可能多的匹配所搜索的字符串。例如,对于字符串 “oooo”,’o+?’ 将匹配单个 “o”,而 ‘o+’ 将匹配所有 ‘o’。 . 匹配除换行符(\n、\r)之外的任何单个字符。
常用的正则表达式
手机号验证:"^(13[0-9]|14[579]|15[0-3,5-9]|16[6]|17[0135678]|18[0-9]|19[89])\\d{8}$"
只包含字母,数字和‘_’: ^[0-9a-zA-Z_ ]*$
身份证验证: ^[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{2}$
简单身份证验证: ^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$
邮箱验证: ^[a-zA-Z0-9_.-]+@[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)*\.[a-zA-Z0-9]{2,6}$
用户名验证:^[a-zA-Z0-9_-]{4,16}$
密码: ^.*(?=.{6,})(?=.* \d)(?=.*[A-Z])(?=.* [a-z])(?=.*[!@#$%^&* ? ]).*$ //密码强度正则,最少6位,包括至少1个大写字母,1个小写字母,1个数字,1个特殊字符
包含中文:[\u4E00-\u9FA5]
java 使用正则
String name=“sdfdsf”;
Pattern.compile ("^[0-9a-zA-Z_]*$" ).matcher (name).find ();
js使用正则表达式
方法一:
var regu = /^[-]{0,1}[0-9]{1,}$/ ;
return regu.test(str);
方法二:
var regu = "^[ ]+$" ;
var re = new RegExp (regu);
return re.test(str);
方法三:
var patt = /e/ ;
patt.test("The best things in life are free!" );