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

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

  1. 正则表达式验证工具类RegexUtils.java

    Java 表单注册常用正则表达式验证工具类,常用正则表达式大集合. 1. 电话号码 2. 邮编 3. QQ 4. E-mail 5. 手机号码 6. URL 7. 是否为数字 8. 是否为中文 9. ...

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

    import java.util.regex.Matcher; import java.util.regex.Pattern; public class RegexUtils{ /** * 正则表达式 ...

  3. Java常用工具类---XML工具类、数据验证工具类

    package com.jarvis.base.util; import java.io.File;import java.io.FileWriter;import java.io.IOExcepti ...

  4. java后台表单验证工具类

    /** * 描述 java后台表单验证工具类 * * @ClassName ValidationUtil * @Author wzf * @DATE 2018/10/27 15:21 * @VerSi ...

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

    Java日期工具类,Java时间工具类,Java时间格式化 >>>>>>>>>>>>>>>>>&g ...

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

    Java 通过Xml导出Excel文件,Java Excel 导出工具类,Java导出Excel工具类 ============================== ©Copyright 蕃薯耀 20 ...

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

    Java字符串转16 进制工具类Hex.java 学习了:https://blog.csdn.net/jia635/article/details/56678086 package com.strin ...

  8. Java Cookie工具类,Java CookieUtils 工具类,Java如何增加Cookie

    Java Cookie工具类,Java CookieUtils 工具类,Java如何增加Cookie >>>>>>>>>>>>& ...

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

    UrlUtils工具类,Java URL工具类,Java URL链接工具类 >>>>>>>>>>>>>>>&g ...

随机推荐

  1. 重新认识Box Model、IFC、BFC和Collapsing margins

    尊重原创,转载自: http://www.cnblogs.com/fsjohnhuang/p/5259121.html 肥子John^_^ 前言   盒子模型作为CSS基础中的基础,曾一度以为掌握了I ...

  2. Mybatis错误调试(二)

    错误日志信息:  Caused by: java.sql.BatchUpdateException: ORA-00911: 无效字符 at oracle.jdbc.driver.OraclePrepa ...

  3. WebServices中使用Session

    默认情况下,Asp.net使用cookie来管理会话状态.因此,Asp.net假设客户端存储了会话cookie并将它与每一个请求一并发回给客户端. /// <summary> /// Su ...

  4. hdu 2426 Interesting Housing Problem 最大权匹配KM算法

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2426 For any school, it is hard to find a feasible ac ...

  5. AC自动机学习

    今天包括这一周开始学习AC自动机了,有点晚,但我感觉努努力还来得及.4月份还得认认真真攻图论,加油! 为2个月后的邀请赛及省赛.东北赛做准备. 推荐AC自动机学习地址:http://www.cppbl ...

  6. 对话机器学习大神Yoshua Bengio(上)

    Yoshua Bengio教授(个人主页)是机器学习大神之一,尤其是在深度学习这个领域.他连同Geoff Hinton老先生以及 Yann LeCun(燕乐存)教授,缔造了2006年开始的深度学习复兴 ...

  7. 如何将控制台程序包装成windows服务

    1. 新建一个项目,或者从选择当前解决方案--右键-添加--新建项目 2. 选择(项目类型)Visual C#项目,(模板)Windows 服务,填写要创建的服务名称(修改默认的WindowServi ...

  8. ASP.NET页面刷新的实现方法总结

    先看看ASP.NET页面刷新的实现方法: 第一: private void Button1_Click( object sender, System.EventArgs e ) { Response. ...

  9. HDOJ 1050 Moving Tables

    Moving Tables Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Tot ...

  10. 如何使用 Docker 部署一个基于 Play Framework 的 Scala Web 应用?

    本文作者 Jacek Laskowski 拥有近20年的应用程序开发经验,现 CodiLime 的软件开发团队 Leader,曾从 IBM 取得多种资格认证.在这篇博文中,Jacek 分享了 Wars ...