什么是
是一种匹配0宽度的内容,它匹配到的内容不会保存到匹配就过中去,最终匹配结果只是一个位置而已
- 例1:
"?=" 表示的是其后跟的是
/ab(?=[A-Z])/
abc abC ab,
//1 2 3
//只会匹配到2位置的ab
//且C(断言的匹配内容)不会显示
- 例2:
"?!" 表示的是其后跟的不是
/ab(?![A-Z])/
abc abC ab,
//1 2 3
//只会匹配到1,3位置的ab
//且c,和逗号(,)(断言的匹配内容)不会显示
千分符
如:12,345,678.12
/d(?=(\d{3})+(\.|$)) //千分符写法
var str = "12345689.12";
str.replace(reg/g,"$1,")//123,456,789.12
密码强度
-
至少包含一位大写字母
从开头到结尾不能全由小写字母和数字组成。说明一定包含大写字母或特殊符号
^(?![0-9a-z]+$)
//从头到尾不能全由小写或数字组成
-
至少包含以为数字
从头到尾不能全由字母组成
^(?![A-Za-z]+$)
//从头到尾不能全由字母组成
-
字母和数字的组合,不能有特殊符号
^[0-9A-Za-z]+$
//排除特殊符号的情况
总结
^(?![0-9a-z]+$)(?![A-Za-z]+$)(0-9A-Za-z)+$