我试图在密码输入上进行模式匹配,但不知何故,HTML声称存在不匹配,而JavaScript声称匹配。在regexr.com/7gmmi上测试我的正则表达式显示一切正常...
我错过了什么?
<input id="password" type="password" placeholder="密码输入" pattern="/^(?!.*(.){1})(?=(.*[\d]){2,})(?=(.*[a-z]){2,})(?=(.*[A-Z]){2,})(?=(.*[\D\W\S]){2,})(?:[\d\w\S]){8,64}$/">
const patternPass = new RegExp(/^(?!.*(.){1})(?=(.*[\d]){2,})(?=(.*[a-z]){2,})(?=(.*[A-Z]){2,})(?=(.*[\D\W\S]){2,})(?:[\d\w\S]){8,64}$/); console.log(patternPass.test("FAGX@s#A2dred01sd")); /// true
你尝试过删除模式属性开头和结尾的斜杠并重新测试吗?