这是正则表达式:
("^(?=.*[a-z])(?=.*[A-Z])(?=.*\\d)(?=.*[$@$!%*#?&])[A-Za-z\\d$@$!%*#?&]{8,50}")
密码必须至少包含1个大写字母,1个小写字母,1个数字和1个特殊字符,最少8个,最多50个字符。
但是这个表达式不接受密码
中的#答案 0 :(得分:0)
答案 1 :(得分:0)
正则表达式似乎对我也很好:
function create(){
ground = game.add.tileSprite(0, 100, game.width, 50, 'ground');
}
打印出来:
public static void main(String[] args) throws IOException {
Pattern pat = Pattern.compile("(?=.*[a-z])(?=.*[A-Z])(?=.*\\d)(?=.*[$@!%*#?&])[A-Za-z\\d$@!%*#?&]{8,50}");
System.out.println(pat.matcher("#GRDiD1ddddddddd").matches());
System.out.println(pat.matcher("GRDiD1ddddddddd!#").matches());
System.out.println(pat.matcher("GRDiD1d#ddddddd!").matches());
System.out.println(pat.matcher("GRDiD1d#dd#ddddd!").matches());
}
顺便说一句,正则表达式包含多余的美元字符,可以简化为:
true
true
true
true
答案 2 :(得分:0)
尝试使用:
("^(?=.*[a-z])(?=.*[A-Z])(?=.*\\d)(?=.*[!-/])[!-z]{8,50}")