• 验证工具类


    验证工具类,提供验证email格式、是否ipv4、是否ipv6、是否中文、是否数字、正则表达式验证的方法。

    源码如下:(点击下载 - ValidateUtils.java 、commons-lang-2.6.jarhttpclient-4.3.3.jar)

    import java.util.regex.Matcher;
    import java.util.regex.Pattern;
    import org.apache.commons.lang.StringUtils;
    import org.apache.http.conn.util.InetAddressUtils;
    
    /**
     * 验证工具类
     * 
     */
    public class ValidateUtils {
    
        private static transient final String REGEX_IS_CHINESE = "^[\u4e00-\u9fa5][\u4e00-\u9fa5]*[\u4e00-\u9fa5]$";
        private static transient final String REGEX_IS_EMAIL = "^([a-z0-9A-Z]+[-_|\.]?)+[a-z0-9A-Z]@([a-z0-9A-Z]+(-[a-z0-9A-Z]+)?\.)+[a-zA-Z]{2,}$";
    
        /**
         * 是否email
         *
         * @param email
         *            a {@link java.lang.String} object.
         * @return 验证结果
         */
        public static boolean isEmail(String email) {
            return isMatch(email, REGEX_IS_EMAIL);
        }
    
        /**
         * 是否email
         *
         * @param email
         *            a {@link java.lang.String} object.
         * @return 验证结果
         */
        public static boolean isNotEmail(String email) {
            return !isEmail(email);
        }
    
        /**
         * 是否ipv4
         *
         * @param ipv4
         *            a {@link java.lang.String} object.
         * @return 验证结果
         */
        public static boolean isIPv4(String ipv4) {
            return InetAddressUtils.isIPv4Address(ipv4);
        }
    
        /**
         * 是否ipv4
         *
         * @param ipv4
         *            a {@link java.lang.String} object.
         * @return 验证结果
         */
        public static boolean isNotIPv4(String ipv4) {
            return !isIPv4(ipv4);
        }
    
        /**
         * 是否ipv6
         *
         * @param ipv6
         *            a {@link java.lang.String} object.
         * @return 验证结果
         */
        public static boolean isIPv6(String ipv6) {
            return InetAddressUtils.isIPv6Address(ipv6);
        }
    
        /**
         * 是否ipv6
         *
         * @param ipv6
         *            a {@link java.lang.String} object.
         * @return 验证结果
         */
        public static boolean isNotIPv6(String ipv6) {
            return !isIPv6(ipv6);
        }
    
        /**
         * 是否中文
         *
         * @param str
         *            a {@link java.lang.String} object.
         * @return 验证结果
         */
        public static boolean isChinese(String str) {
            return isMatch(str, REGEX_IS_CHINESE);
        }
    
        /**
         * 是否数字
         *
         * @param str
         *            a {@link java.lang.String} object.
         * @return 验证结果
         */
        public static boolean isNumeric(String str) {
            return StringUtils.isNumeric(str);
        }
    
        /**
         * 是否数字
         *
         * @param str
         *            a {@link java.lang.String} object.
         * @return 验证结果
         */
        public static boolean isNotNumeric(String str) {
            return !isNumeric(str);
        }
    
        /**
         * 正则表达式验证
         *
         * @param str
         *            a {@link java.lang.String} object.
         * @param regex
         *            a {@link java.lang.String} object.
         * @return 验证结果
         */
        public static boolean isMatch(String str, String regex) {
            final Pattern pattern = Pattern.compile(regex);
            final Matcher matcher = pattern.matcher(str);
            if (!matcher.find()) {
                return false;
            }
            return true;
        }
    
    }
  • 相关阅读:
    HDU 1213 How Many Tables(并查集,简单)
    POJ 1611 The Suspects(并查集,简单)
    HDU 4539 郑厂长系列故事――排兵布阵(曼哈顿距离)
    POJ 2411 Mondriaan'sDream(状压DP)
    ZOJ 4257 MostPowerful(状压DP,简单)
    HDU 3001 Traveling(状压DP)
    POJ 3311 Hie with the Pie(Floyd+状态压缩DP)
    POJ 1185 炮兵阵地(状态压缩DP)
    POJ 3254 Corn Fields(状态压缩DP)
    XueXX and Chessboard(dp)
  • 原文地址:https://www.cnblogs.com/lr393993507/p/5457383.html
Copyright © 2020-2023  润新知