美文网首页
java 正则 常用

java 正则 常用

作者: 微笑中的你 | 来源:发表于2020-06-24 10:12 被阅读0次

    1、判断字符串 是否为纯字母

        /**
         * 判断是否为 纯字母
         * @param str String
         * @return boolean
         */
        public static boolean isLetter(String str) {
            String p = "^[a-zA-Z]*$";
            return str.matches(p);
        }
    
    
        //测试
        @Test
        public void testLetter() {
    
            String str = "abc";
            System.out.println(str +  " 是纯字母:" +  isLetter(str));
            str = "123";
            System.out.println(str +  " 是纯字母:" +  isLetter(str));
            str = "123abc";
            System.out.println(str +  " 是纯字母:" +  isLetter(str));
            
        }
    
    //print
    abc 是纯字母:true
    123 是纯字母:false
    123abc 是纯字母:false
    
    
    

    2、判断字符串 是否为纯数字

        /**
         * 判断字符串是否是纯数字
         * @param str String
         * @return boolean
         */
        public static boolean isNumber(String str) {
            String p = "^\\-?[0-9]+$ *";
            return str.matches(p);
        }
    
    
        @Test
        public void testNumber() {
    
            String str = "abc";
            System.out.println(str +  " 是纯数字:" +  isNumber(str));
            str = "123";
            System.out.println(str +  " 是纯数字:" +  isNumber(str));
            str = "123abc";
            System.out.println(str +  " 是纯数字:" +  isNumber(str));
    
        }
    
    //print
    abc 是纯数字:false
    123 是纯数字:true
    123abc 是纯数字:false
    
    
    

    3、判断字符串 是由字母和数字组成

        /**
         * 是字符和数字 6-20位
         * @param str String
         * @return boolean
         */
        public static boolean isLetterWithNumber(String str) {
            String p = "^(?![0-9]+$)(?![a-zA-Z]+$)[0-9A-Za-z]{6,20}$";
            return str.matches(p);
        }
    
        @Test
        public void test3() {
    
            String str = "abc";
            System.out.println(str +  " 是字母和数字:" +  isLetterWithNumber(str));
            str = "123";
            System.out.println(str +  " 是字母和数字:" +  isLetterWithNumber(str));
            str = "123abc";
            System.out.println(str +  " 是字母和数字:" +  isLetterWithNumber(str));
    
        }
    
    //print
    abc 是字母和数字:false
    123 是字母和数字:false
    123abc 是字母和数字:true
    
    

    4、判断字符串 是由字母和数字组成 并且以 字母开头

        /**
         * 是字符和数字 6-20位 并且以字母开头
         * @param str String
         * @return boolean
         */
        public static boolean isLetterStartWithNumber(String str) {
            String p = "^([A-Za-z])(?![a-zA-Z]+$)[0-9A-Za-z]{5,20}$";
            return str.matches(p);
        }
    
        
        @Test
        public void test4() {
    
            String str = "abcdefg";
            System.out.println(str +  " 是字母和数字, 字母开头:" +  isLetterStartWithNumber(str));
            str = "123";
            System.out.println(str +  " 是字母和数字, 字母开头:" +  isLetterStartWithNumber(str));
            str = "123abc";
            System.out.println(str +  " 是字母和数字, 字母开头:" +  isLetterStartWithNumber(str));
            str = "a123abc";
            System.out.println(str +  " 是字母和数字, 字母开头:" +  isLetterStartWithNumber(str));
        }
    
    //print
    abcdefg 是字母和数字, 字母开头:false
    123 是字母和数字, 字母开头:false
    123abc 是字母和数字, 字母开头:false
    a123abc 是字母和数字, 字母开头:true
    
    

    5、判断是否为 手机号

        /**
         * 是手机号
         * @param str String
         * @return boolean
         */
        public static boolean isPhoneNumber(String str) {
            String p = "^[1][3-9]\\d{9}$";
            return str.matches(p);
        }
    
        @Test
        public void test5() {
            String str = "12233334444";
            System.out.println(str +  " 是手机号:" +  isPhoneNumber(str));
            str = "13167890000";
            System.out.println(str +  " 是手机号:" +  isPhoneNumber(str));
            str = "131678900005";
            System.out.println(str +  " 是手机号:" +  isPhoneNumber(str));
            str = "1316789abcd";
            System.out.println(str +  " 是手机号:" +  isPhoneNumber(str));
        }
    
    //print
    12233334444 是手机号:false
    13167890000 是手机号:true
    131678900005 是手机号:false
    1316789abcd 是手机号:false
    

    相关文章

      网友评论

          本文标题:java 正则 常用

          本文链接:https://www.haomeiwen.com/subject/flolfktx.html