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
    }
相關文章
相關標籤/搜索