package test;public class ZhengZeTest {    /**
     * 判断字符是否是数字组成【0-9】
     * 
     * @return boolean
     * @param number
     * 
     * @author guoqiang <[email protected]>
     */
    public static boolean isNumber(String number) {        int count = 0;
        for (int i = 0; i < number.length(); i++) {
            if (String.valueOf(number.charAt(i)).matches("\\d"))
                count++;
        }
        if (count == number.length())
            return true;
        else
            return false;
    }    /**
     * 判断字符是否是字母
     * 
     * @return boolean
     * @param en
     * 
     * @author guoqiang <[email protected]>
     */
    public static boolean isEn(String en) {        int count = 0;
        for (int i = 0; i < en.length(); i++) {
            if (String.valueOf(en.charAt(i)).matches("[a-zA-Z]"))
                count++;
        }
        if (count == en.length())
            return true;
        else
            return false;
    }    /**
     * 判断字符是否是IP地址
     * 
     * @return boolean
     * @param ip
     * 
     * @author guoqiang <[email protected]>
     */
    public static boolean isIp(String ip) {        return ip.matches("\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}");
    }    /**
     * 判断字符是否是E-Mail地址
     * 
     * @return boolean
     * @param mail
     * 
     * @author guoqiang <[email protected]>
     */
    public static boolean isMail(String mail) {        return mail.matches("[a-zA-Z0-9|_|-]{3,}@[a-zA-Z0-9]{3,}\\.[a-zA-Z0-9]{2,}");
    }    /**
     * 判断字符是否是正确的日期格式(不包括时间)
     * 
     * @return boolean
     * @param date
     * 
     * @author guoqiang <[email protected]>
     */
    public static boolean isDate(String date) {        return date
                .matches("^((((1[6-9]|[2-9]\\d)\\d{2})-(0?[13578]|1[02])-(0?[1-9]|[12]\\d|3[01]))|(((1[6-9]|[2-9]\\d)\\d{2})-(0?[13456789]|1[012])-(0?[1-9]|[12]\\d|30))|(((1[6-9]|[2-9]\\d)\\d{2})-0?2-(0?[1-9]|1\\d|2[0-8]))|(((1[6-9]|[2-9]\\d)(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00))-0?2-29-))$");
    }    /**
     * 判断字符是否是正确的日期格式(包括时间)
     * 
     * @return boolean
     * @param time
     * 
     * @author guoqiang <[email protected]>
     */
    public static boolean isTime(String time) {        return time
                .matches("^((((1[6-9]|[2-9]\\d)\\d{2})-(0?[13578]|1[02])-(0?[1-9]|[12]\\d|3[01]))|(((1[6-9]|[2-9]\\d)\\d{2})-(0?[13456789]|1[012])-(0?[1-9]|[12]\\d|30))|(((1[6-9]|[2-9]\\d)\\d{2})-0?2-(0?[1-9]|1\\d|2[0-8]))|(((1[6-9]|[2-9]\\d)(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00))-0?2-29-)) (20|21|22|23|[0-1]?\\d):[0-5]?\\d:[0-5]?\\d$");
    }    /**
     * main主函数
     * 
     * @return
     * @param args
     * 
     * @author guoqiang <[email protected]>
     */
    public static void main(String[] args) {        // 判断字符是否是数字组成【0-9】
        System.out.println();
        System.out.println("判断字符是否是数字组成【0-9】");
        boolean bNumber1 = isNumber("00000001");
        System.out.println("bNumber1: " + bNumber1);
        boolean bNumber2 = isNumber("a000b001");
        System.out.println("bNumber2: " + bNumber2);        // 判断字符是否是字母
        System.out.println();
        System.out.println("判断字符是否是字母");
        boolean bEn1 = isEn("abcABC");
        System.out.println("bEn1: " + bEn1);
        boolean bEn2 = isEn("abc2345ABC");
        System.out.println("bEn2: " + bEn2);        // 判断字符是否是IP地址
        System.out.println();
        System.out.println("判断字符是否是IP地址");
        boolean ip1 = isIp("192.168.10.8");
        System.out.println("ip1: " + ip1);
        boolean ip2 = isIp("192.168.10.baby");
        System.out.println("ip2: " + ip2);        // 判断字符是否是E-Mail地址
        System.out.println();
        System.out.println("判断字符是否是E-Mail地址");
        boolean mail1 = isMail("[email protected]");
        System.out.println("mail1: " + mail1);
        boolean mail2 = isMail("[email protected]");
        System.out.println("mail2: " + mail2);
        boolean mail3 = isMail("[email protected]");
        System.out.println("mail3: " + mail3);
        boolean mail4 = isMail("guoqiang_998*[email protected]");
        System.out.println("mail4: " + mail4);        // 判断字符是否是正确的日期格式(不包括时间)
        System.out.println();
        System.out.println("判断字符是否是正确的日期格式(不包括时间)");
        boolean date1 = isDate("2008-04-01");
        System.out.println("date1: " + date1);
        boolean date2 = isDate("0000-04-01");
        System.out.println("date2: " + date2);
        boolean date3 = isDate("2008-13-01");
        System.out.println("date3: " + date3);
        boolean date4 = isDate("2008-04-32");
        System.out.println("date4: " + date4);        // 判断字符是否是正确的日期格式(包括时间)
        System.out.println();
        System.out.println("判断字符是否是正确的日期格式(包括时间)");
        boolean time1 = isTime("2008-04-01 00:00:00");
        System.out.println("time1: " + time1);
        boolean time2 = isTime("2008-04-01 24:00:00");
        System.out.println("time2: " + time2);
        boolean time3 = isTime("2008-04-01 00:60:00");
        System.out.println("time3: " + time3);
        boolean time4 = isTime("2008-04-01 00:00:60");
        System.out.println("time4: " + time4);
    }
}

解决方案 »

  1.   

    不好意思,上边那个日期验证有些问题(2008-02-29 验证不出来),下面的是修改后完全正确的
    -------------------------------------------------------------------------------------------------------------
    package test;public class ZhengZeTest {    /**
         * 判断字符是否是数字组成【0-9】
         * 
         * @return boolean
         * @param number
         * 
         * @author guoqiang <[email protected]>
         */
        public static boolean isNumber(String number) {        int count = 0;
            for (int i = 0; i < number.length(); i++) {
                if (String.valueOf(number.charAt(i)).matches("\\d"))
                    count++;
            }
            if (count == number.length())
                return true;
            else
                return false;
        }    /**
         * 判断字符是否是字母
         * 
         * @return boolean
         * @param en
         * 
         * @author guoqiang <[email protected]>
         */
        public static boolean isEn(String en) {        int count = 0;
            for (int i = 0; i < en.length(); i++) {
                if (String.valueOf(en.charAt(i)).matches("[a-zA-Z]"))
                    count++;
            }
            if (count == en.length())
                return true;
            else
                return false;
        }    /**
         * 判断字符是否是IP地址
         * 
         * @return boolean
         * @param ip
         * 
         * @author guoqiang <[email protected]>
         */
        public static boolean isIp(String ip) {        return ip.matches("\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}");
        }    /**
         * 判断字符是否是E-Mail地址
         * 
         * @return boolean
         * @param mail
         * 
         * @author guoqiang <[email protected]>
         */
        public static boolean isMail(String mail) {        return mail.matches("[a-zA-Z0-9|_|-]{3,}@[a-zA-Z0-9]{3,}\\.[a-zA-Z0-9]{2,}");
        }    /**
         * 判断字符是否是正确的日期格式(不包括时间)
         * 
         * @return boolean
         * @param date
         * 
         * @author guoqiang <[email protected]>
         */
        public static boolean isDate(String date) {        return date
                    .matches("^((((1[6-9]|[2-9]\\d)\\d{2})-(0?[13578]|1[02])-(0?[1-9]|[12]\\d|3[01]))|(((1[6-9]|[2-9]\\d)\\d{2})-(0?[13456789]|1[012])-(0?[1-9]|[12]\\d|30))|(((1[6-9]|[2-9]\\d)\\d{2})-0?2-(0?[1-9]|1\\d|2[0-8]))|(((1[6-9]|[2-9]\\d)(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00))-0?2-29))$");
        }    /**
         * 判断字符是否是正确的日期格式(包括时间)
         * 
         * @return boolean
         * @param time
         * 
         * @author guoqiang <[email protected]>
         */
        public static boolean isTime(String time) {        return time
                    .matches("^((((1[6-9]|[2-9]\\d)\\d{2})-(0?[13578]|1[02])-(0?[1-9]|[12]\\d|3[01]))|(((1[6-9]|[2-9]\\d)\\d{2})-(0?[13456789]|1[012])-(0?[1-9]|[12]\\d|30))|(((1[6-9]|[2-9]\\d)\\d{2})-0?2-(0?[1-9]|1\\d|2[0-8]))|(((1[6-9]|[2-9]\\d)(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00))-0?2-29)) (20|21|22|23|[0-1]?\\d):[0-5]?\\d:[0-5]?\\d$");
        }    /**
         * main主函数
         * 
         * @return
         * @param args
         * 
         * @author guoqiang <[email protected]>
         */
        public static void main(String[] args) {        // 判断字符是否是数字组成【0-9】
            System.out.println();
            System.out.println("判断字符是否是数字组成【0-9】");
            boolean bNumber1 = isNumber("00000001");
            System.out.println("bNumber1: " + bNumber1);
            boolean bNumber2 = isNumber("a000b001");
            System.out.println("bNumber2: " + bNumber2);        // 判断字符是否是字母
            System.out.println();
            System.out.println("判断字符是否是字母");
            boolean bEn1 = isEn("abcABC");
            System.out.println("bEn1: " + bEn1);
            boolean bEn2 = isEn("abc2345ABC");
            System.out.println("bEn2: " + bEn2);        // 判断字符是否是IP地址
            System.out.println();
            System.out.println("判断字符是否是IP地址");
            boolean ip1 = isIp("192.168.10.8");
            System.out.println("ip1: " + ip1);
            boolean ip2 = isIp("192.168.10.baby");
            System.out.println("ip2: " + ip2);        // 判断字符是否是E-Mail地址
            System.out.println();
            System.out.println("判断字符是否是E-Mail地址");
            boolean mail1 = isMail("[email protected]");
            System.out.println("mail1: " + mail1);
            boolean mail2 = isMail("[email protected]");
            System.out.println("mail2: " + mail2);
            boolean mail3 = isMail("[email protected]");
            System.out.println("mail3: " + mail3);
            boolean mail4 = isMail("guoqiang_998*[email protected]");
            System.out.println("mail4: " + mail4);        // 判断字符是否是正确的日期格式(不包括时间)
            System.out.println();
            System.out.println("判断字符是否是正确的日期格式(不包括时间)");
            boolean date1 = isDate("2008-02-29");
            System.out.println("date1: " + date1);
            boolean date2 = isDate("0000-04-01");
            System.out.println("date2: " + date2);
            boolean date3 = isDate("2008-13-01");
            System.out.println("date3: " + date3);
            boolean date4 = isDate("2008-04-32");
            System.out.println("date4: " + date4);        // 判断字符是否是正确的日期格式(包括时间)
            System.out.println();
            System.out.println("判断字符是否是正确的日期格式(包括时间)");
            boolean time1 = isTime("2008-02-29 00:00:00");
            System.out.println("time1: " + time1);
            boolean time2 = isTime("2008-04-01 24:00:00");
            System.out.println("time2: " + time2);
            boolean time3 = isTime("2008-04-01 00:60:00");
            System.out.println("time3: " + time3);
            boolean time4 = isTime("2008-04-01 00:00:60");
            System.out.println("time4: " + time4);
        }
    }
    --------------------------------------------------------------------------------------------------------------