验证工具类,提供验证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. ansii、unicode、utf8 区别和关系

    本地化过程中涉及到源文件和目标文件的传输问题,这时候编码就显得很重要.中文的网页和操作系统中通常采用ANSI编码,这也是微软OS的一个字符标准.对于ANSI,不同的国家和地区制定了不同的标准,由此产生 ...

  2. c++ ip地址相关

    #include <stdio.h> #include <string.h> #include <arpa/inet.h> #include <sys/typ ...

  3. Codeforces Round #109 (Div. 2) E. Double Profiles hash

    题目链接: http://codeforces.com/problemset/problem/155/E E. Double Profiles time limit per test 3 second ...

  4. JS 学习笔记--12---面向对象

    练习中使用的浏览器为IE10,如果各位朋友有不同意见或者本文有什么错误地方,望指正 ECMASCript有两种开发模式:函数式(面向过程)和面向对象.面向对象有一个很明显的标志,那就是类,我们可以通过 ...

  5. 【BZOJ】【3831】【POI2014】Little Bird

    DP/单调队列优化 水题水题水题水题 单调队列优化的线性dp…… WA了8次QAQ,就因为我写队列是[l,r),但是实际操作取队尾元素的时候忘记了……不怎么从队尾取元素嘛……平时都是直接往进放的……还 ...

  6. HDOJ 2152 Fruit(母函数)

    Fruit Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submi ...

  7. 疯狂java讲义——初始化块

  8. css内边距与外边距的区别

    你真的了解margin吗?你知道margin有什么特性吗?你知道什么是垂直外边距合并?margin在块元素.内联元素中的区别?什么时候该用 padding而不是margin?你知道负margin吗?你 ...

  9. Javascript里的那些距离们

    1.有滚动条的控件的距离: scrollTop和scrollLeft:分别指有滚动条的容器控件的滚动条的top和left:页面滚动条的通用取法:document.body.scrollTop(FF\C ...

  10. ExtJs之文本框及数字输入

    结合HTML来理解, 比较容易. <!DOCTYPE html> <html> <head> <title>ExtJs</title> &l ...