java只允许输入数字字母下划线中文

时间:2023-03-08 23:37:05
java只允许输入数字字母下划线中文
public static void main(String[] args) {
Pattern pattern = Pattern.compile("[_0-9a-z]+");
boolean b1 = pattern.matcher("@#").find();
boolean b2 = pattern.matcher("@#").find();
System.err.println("b1="+b1);//false
System.err.println("b2="+b2);//true,说明pattern.matcher("xxx").find()是只要有一个匹配,哪怕有其他非法字符,也会认为true boolean b3 = "d d的2a-".matches("[_0-9a-zA-Z\\s\u4E00-\u9FA5\\-—]+");//判断数字字母中文下划线空格
boolean b4 = "d d的2a-@".matches("[_0-9a-zA-Z\\s\u4E00-\u9FA5\\-—]+");
System.err.println("b3="+b3);//true
System.err.println("b4="+b4);//false,说明,这个是判断只包含,一旦出现非法字符,则false
}