满足大写字母、小写字母、数字和特殊字符四者中三者以上组合要求,至少10位以上长度,求解啊
你试试:
如果是Java,使用:
^(?!([a-z]*|[A-Z]*|[\d]*|[\p{Punct}]*|[a-zA-Z]*|[a-z\d]*|[a-z\p{Punct}]*|[A-Z\d]*|[A-Z\p{Punct}]*|[\d\p{Punct}]*)$)[a-zA-Z\d\p{Punct}]{8,}$
如果不是Java,就把上面所有的\p{Punct}
换成
!"#\$%&'()*+,\-\./:;<=>?@\[\\\]^_`{|}~
请问特殊字符指的是什么?(\n,\t这些吗?)
晕,场景好奇葩。特殊字符有没有范围,还是就这四个
不知道行不行
str = "a423Z5435345!";
num = 0;
str.match(/[a-z]/) ? num+=1:num;
str.match(/[A-Z]/) ? num+=1:num;
str.match(/[0-9]/) ? num+=1:num;
str.match(/\#|\!|\@|\$/) ? num+=1:num;
str.length>10 ? num+=1:num;
if(num>4){
//符合
}
三者以上,是不是只能是四者都有?