包含至少1个大写和小写字母,1个数字和1个特殊字符的密码的正则表达式,最小长度为8

时间:2019-08-02 09:32:15

标签: javascript angular

这在Angular 7中不起作用,因为验证通过时没有大写字母。

password: ['', [Validators.required,Validators.pattern('^(?=.*[0-9])(?=.*[a-zA-Z])(?=[^\\W]*\\W)([a-zA-Z0-9\\W]+)$'), Validators.minLength(8)]],

2 个答案:

答案 0 :(得分:2)

您快到了,您可以将正则表达式更改为

^(?=.*[0-9])(?=.*[A-Z])(?=.*[a-z])(?=.*\W).{8,}$

enter image description here

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,}/