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
    }

 

posted @ 2019-09-12 15:47  君子笑而不语  阅读(2932)  评论(0编辑  收藏  举报