这个正则表达式使用了正向否定预查,确保密码至少包含两种字符类型(数字、字母或符号),并且长度在8到20位之间:
/^(?![0-9]+$)(?![a-zA-Z]+$)(?![^0-9a-zA-Z]+$).{6,20}$/
解释如下:
(?![0-9]+$)://用于确保密码不仅仅只包含数字。 (?![a-zA-Z]+$)://用于确保密码不仅仅只包含字母。 (?![^0-9a-zA-Z]+$)://用于确保密码不仅仅只包含符号。 .{6,20}://用于限制密码的长度在6到20位之间。
用法示例:
var password = "Abc123!@#"; var result = pattern.test(password); console.log(result);
输出:ture