正则表达式: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);
结果: