正则表达式
PS:在工作中用到的正则的表达,一点也不全,全是本人工作中用到,并会详细解释。会经常更新的。
推荐一个很好用的在线测试正则的链接:
在线测试正则表达式
- 正则的基础:
'$'表示字符串的结束;
'*'表示出现零次或者多次;
'+'表示一次或者多次;
'?'表示零次或者一次;
'str{n}'表示出现一次n个连着的str;
'str{n,}'表示出现一次最少n个连着的str';
'str{n,m}'表示出现一次n到m个str;
'|'表示或者;
'[ ]'表示内容是可选字符集;
'{ }'表示长度或者个数;
'.'代表任何字符(通配).
注意:在运用" '^' '.' '$' '(' ')' '|' '*' '+' '?' '{' '\ ' "这些字符前需要加上转义字符'\'.
- 与中文相关的正则表达式
在JS中:/^[\u4e00-\u9fa5]$/ 这种情况只能匹配一个纯中文,即需要匹配的字符串有且只有一个中文时返回TRUE。
例:/^[\u4e00-\u9fa5]$/.test('正') ------ 返回Boolean值为true.
/^.*[\u4e00-\u9fa5].*$/ 这种情况可以匹配是否存在中文,即需要匹配的字符串中存在中文就会返回TRUE。
例:/^.*[\u4e00-\u9fa5].*$/.test('abc正则cba') ------ 返回Boolean值为true。
(说明: .* 表示的是通配)
- 与数字相关的正则表达式
/^[0-9]*$/ 这种情况是匹配纯数字。
/^[1-9]\d*$/ 这种情况是匹配正整数。
/^-[1-9]\d*$/ 这种情况是匹配负整数。
/^-?[1-9]\d*$/ 这种情况是匹配整数。
/^[1-9]\d*\.\d*|0\.\d*[1-9]\d*$/ 这种情况是匹配正浮点数。
- 与E-m相关的正则表达式
/^[\w!#$%&'*+/=?^_`{|}~-]+(?:\.[\w!#$%&'*+/=?^_`{|}~-]+)*@(?:[\w](?:[\w-]*[\w])?\.)+[\w](?:[\w-]*[\w])?$/ 这种情况是匹配E-mail正则表达式。