java只允许输入数字字母下划线中文
public static void main(String[] args) { Pattern pattern = Pattern.compile("[_0-9a-z]+"); boolean b1 = pattern.matcher("@#").find(); boolean b2 = pattern.matcher("@#2").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 }