这在Angular 7中不起作用,因为验证通过时没有大写字母。
password: ['', [Validators.required,Validators.pattern('^(?=.*[0-9])(?=.*[a-zA-Z])(?=[^\\W]*\\W)([a-zA-Z0-9\\W]+)$'), Validators.minLength(8)]],
答案 0 :(得分:2)
您快到了,您可以将正则表达式更改为
^(?=.*[0-9])(?=.*[A-Z])(?=.*[a-z])(?=.*\W).{8,}$
let strArr = ["123456789","1aA12345@","abcdefghi","@@@@1!!!!"]
strArr.forEach(str=>{
console.log(str, /^(?=.*[0-9])(?=.*[A-Z])(?=.*[a-z])(?=.*\W).{8,}$/.test(str))
})
答案 1 :(得分:0)
一旦尝试此RegExp
/^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[$@$!%*?&])[A-Za-z\d$@$!%*?&]{8,}/