验证工具类 - ValidateUtils.java

验证工具类,提供验证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;
    }

}
时间: 2024-12-15 07:11:14

验证工具类 - ValidateUtils.java的相关文章

Java常用正则表达式验证工具类RegexUtils.java

原文:Java常用正则表达式验证工具类RegexUtils.java 源代码下载地址:http://www.zuidaima.com/share/1550463379442688.htm Java 表单注册常用正则表达式验证工具类,常用正则表达式大集合. 1. 电话号码 2. 邮编 3. QQ 4. E-mail 5. 手机号码 6. URL 7. 是否为数字 8. 是否为中文 9. 身份证 10. 域名 11. IP .... 常用验证应有尽有! 这的确是您从事 web 开发,服务器端表单验证

Java字符串转16 进制工具类Hex.java

原文:Java字符串转16 进制工具类Hex.java 源代码下载地址:http://www.zuidaima.com/share/1550463378410496.htm Java 字符串转 16 进制工具类 Hex.java 实现 16进制 0xfecd .. 和 java 字符串之间的互转换! 如果做开发,通常用户登陆密码都会 mad5(salt + pwd) 然后再将 md 之后的数据 hex 一下. 这个工具类,就是实现此效果的. /* * */ package com.zuidaim

java常用工具类(java技术交流群57388149)

package com.itjh.javaUtil; import java.util.ArrayList; import java.util.List; /** * * String工具类. <br> * * @author 宋立君 * @date 2014年06月24日 */ public class StringUtil { private static final int INDEX_NOT_FOUND = -1; private static final String EMPTY =

【工具类】JAVA 以行为单位读取文件并比对

package test20140709; import java.io.BufferedReader; import java.io.File; import java.io.FileReader; import java.io.IOException; import java.util.ArrayList; import java.util.List; /** * 以行为单位读取文件并比对,显示不同行 * @author fushihua-wb * @date 2014-7-11 */ pu

UrlUtils工具类,Java URL工具类,Java URL链接工具类

UrlUtils工具类,Java URL工具类,Java URL链接工具类 >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> ?Copyright 蕃薯耀 2017年7月15日 http://www.cnblogs.com/fanshuyao/ Java代码   import java.util.Ha

Java日期工具类,Java时间工具类,Java时间格式化

Java日期工具类,Java时间工具类,Java时间格式化 >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> ?Copyright  蕃薯耀 2017年2月4日 15:03:27 星期六 http://www.cnblogs.co

Java 通过Xml导出Excel文件,Java Excel 导出工具类,Java导出Excel工具类

Java 通过Xml导出Excel文件,Java Excel 导出工具类,Java导出Excel工具类 ============================== ?Copyright 蕃薯耀 2017年9月13日 http://www.cnblogs.com/fanshuyao/ 直接上代码: import java.io.IOException; import java.lang.reflect.InvocationTargetException; import java.lang.ref

通用js表单验证工具类插件-is.js

is.js是一个强大的通用js表单验证工具类.你可以使用js.js来检测任何东西,例如检测所给的值是否为参数,是否是数组,是否是超链接,甚至可以检测浏览器类型,正则表达式和数学表达式等. is.js根据检测的类型分为:类型检测.正则表达式检测.算数检测.环境检测.时间检测.Presence检测.对象检测.字符串检测数组检测和配置检测. 在线文档:http://www.htmleaf.com/Demo/201502091353.html 下载地址:http://www.htmleaf.com/jQ

个人常用工具类:JAVA树形结构工具类01

JAVA树形结构工具类 BaseTreeObj.java /** * 基层树形结构实体类 * 必备属性:id,parentId,childsList */ @Data public class BaseTreeObj implements Serializable { private static final long serialVersionUID = 1L; private String id; private String parentId; private String name; p