密码:必须只含有特殊字符、数字和字母不含中文,6-12位。正则表达式怎么写?

正则表达式:1、(?!.*[!·(){}【】“”:;,》¥、。‘’——\\s-……%\\n])  表示的是不含中文的特殊字符,以及空格与回车,里面的符合可以自动补充或删除;

2、(?=.*[a-zA-Z])   表示含小写或大写的英文字母

3、(?=.*\\d)  表示必须匹配到数字

4、(?=.*[~!@#$%^&*()_+`\\-={}:\";'<>?,.\\/])   表示含英文的特殊字符,里面的符合可以自动补充或删除

5、[^\\u4e00-\\u9fa5]  表示不允许有中文  ;表示允许有中文的,即:[\\u4e00-\\u9fa5]

6、{6,12}  表示长度要求,6~12位

String regex ="^(?!.*[!·(){}【】“”:;,》¥、。‘’——\\s-……%\\n])(?=.*[a-zA-Z])(?=.*\\d)(?=.*[~!@#$%^&*()_+`\\-={}:\";'<>?,.\\/])[^\\u4e00-\\u9fa5]{6,12}$";
        String str = "121是Az,./o";//带中文
        String str1 = "111111111";//纯数字
        String str2 = "aqzesxe";//纯英文
        String str3 = "12qa,";//长度只有5为数
        String str4 = "1qaaw2";//只有数字与英文字母
        String str5 = "1qazws2,.";//符合条件
        String str6 = "123qaz,/!";//存在中文特殊字符
        boolean isfalg =  str.matches(regex);
        boolean isfalg1 =  str1.matches(regex);
        boolean isfalg2 =  str2.matches(regex);
        boolean isfalg3 =  str3.matches(regex);
        boolean isfalg4 =  str4.matches(regex);
        boolean isfalg5 =  str5.matches(regex);
        boolean isfalg6 =  str6.matches(regex);
        System.out.println(isfalg);
        System.out.println(isfalg1);
        System.out.println(isfalg2);
        System.out.println(isfalg3);
        System.out.println(isfalg4);
        System.out.println(isfalg5);
        System.out.println(isfalg6);

结果:密码:必须只含有特殊字符、数字和字母不含中文,6-12位。正则表达式怎么写?_第1张图片

你可能感兴趣的:(密码:必须只含有特殊字符、数字和字母不含中文,6-12位。正则表达式怎么写?)