1、验证密码,(必须包含 数字、字母、特殊字符)
1.1 (?=pattern 正向肯定预查,在任何匹配pattern的字符串开始处匹配查找字符串,这是一个非获取匹配。)
let reg = /(?=.*[a-z])(?=.*\d)(?=.*[-_#@!~%^&*])[a-z\d-_#@!~%^&*]{8,16}/i;
特殊 字符 为~-_!@#$%^&*其中之一。
收集自:https://blog.csdn.net/anythingcool/article/details/74331921
1.2 (?!pattern 正向否定预查,在任何不匹配pattern的字符串开始处匹配查找字符串,这是一个非获取匹配。)
let reg = /^(?![^a-zA-Z]+$)(?!\D+$)(?![a-zA-Z0-9]+$).{8,}$/;
解释:1.2.1 第一个括号中的:?![^a-zA-Z]+$
(?!exp)为零宽断言,表示断言之后的内容不能是exp,[^a-zA-Z]表示非英文字母,+表示可以有多个,$匹配结尾。也就是可以理解为非的意思。也就是说不能全是数字和特殊字符。
1.2.2 第二个括号中的:?!\D+$
这句的意思是不能全部是非数字,必须含有数字,即不能全是字符和特殊字符。
1.2.3 第三个括号中的:?![a-zA-Z0-9]+$
这句的意思是不能全是大小写字母和数字,即不能全是数字加字母。
收集自:https://blog.csdn.net/LJFPHP/article/details/88560476