ValidateUtil常用验证工具类,如手机、密码、邮箱等
package cn.com.ssk.util.utils; import java.util.regex.Pattern; import org.apache.commons.lang3.StringUtils; /**
* 常用的一些验证,如手机、移动号码、联通号码、电信号码、密码、座机、 邮政编码、邮箱、年龄、身份证、URL、QQ、汉字、字母、数字等
*/
public class ValidateUtil { /** 手机号规则 */
public static final String MOBILE_PATTERN="^((13[0-9])|(14[0-9])|(15[0-9])|(17[0-9])|(18[0-9]))(\\d{8})$";
/** 中国电信号码格式验证 手机段: 133,153,180,181,189,177,1700,173 **/
private static final String CHINA_TELECOM_PATTERN = "(?:^(?:\\+86)?1(?:33|53|7[37]|8[019])\\d{8}$)|(?:^(?:\\+86)?1700\\d{7}$)";
/** 中国联通号码格式验证 手机段:130,131,132,155,156,185,186,145,176,1707,1708,1709,175 **/
private static final String CHINA_UNICOM_PATTERN = "(?:^(?:\\+86)?1(?:3[0-2]|4[5]|5[56]|7[56]|8[56])\\d{8}$)|(?:^(?:\\+86)?170[7-9]\\d{7}$)";
/** 中国移动号码格式验证 手机段:134,135,136,137,138,139,150,151,152,157,158,159,182,183,184,187,188,147,178,1705 **/
private static final String CHINA_MOVE_PATTERN = "(?:^(?:\\+86)?1(?:3[4-9]|4[7]|5[0-27-9]|7[8]|8[2-478])\\d{8}$)|(?:^(?:\\+86)?1705\\d{7}$)";
/** 密码规则(6-16位字母、数字) */
public static final String PASSWORD_PATTERN="^[0-9A-Za-z]{6,16}$";
/** 固号(座机)规则 */
public static final String LANDLINE_PATTERN="^(?:\\(\\d{3,4}\\)|\\d{3,4}-)?\\d{7,8}(?:-\\d{1,4})?$";
/** 邮政编码规则 */
public static final String POSTCODE_PATTERN = "[1-9]\\d{5}" ;
/** 邮箱规则 */
public static final String EMAIL_PATTERN = "^([a-z0-9A-Z]+[-|_|\\.]?)+[a-z0-9A-Z]@([a-z0-9A-Z]+(-[a-z0-9A-Z]+)?\\.)+[a-zA-Z]{2,}$" ;
/** 年龄规则 1-120之间 */
public static final String AGE_PATTERN="^(?:[1-9][0-9]?|1[01][0-9]|120)$";
/** 身份证规则 */
public static final String IDCARD_PATTERN="^\\d{15}|\\d{18}$" ;
/** URL规则,http、www、ftp */
public static final String URL_PATTERN = "http(s)?://([\\w-]+\\.)+[\\w-]+(/[\\w- ./?%&=]*)?" ;
/** QQ规则 */
public static final String QQ_PATTERN = "^[1-9][0-9]{4,13}$" ;
/** 全汉字规则 */
public static final String CHINESE_PATTERN = "^[\u4E00-\u9FA5]+$" ;
/** 全字母规则 */
public static final String STR_ENG_PATTERN="^[A-Za-z]+$";
/** 整数规则 */
public static final String INTEGER_PATTERN = "^-?[0-9]+$" ;
/** 正整数规则 */
public static final String POSITIVE_INTEGER_PATTERN = "^\\+?[1-9][0-9]*$" ; /**
* @Description: 验证手机号码格式
* @param mobile 手机号码
* @return boolean
*/
public static boolean validateMobile(String mobile) {
if (StringUtils.isEmpty(mobile)){
return Boolean.FALSE;
}
return mobile.matches(MOBILE_PATTERN);
} /**
* 验证是否是电信手机号,133、153、180、189、177
* @param mobile 手机号
* @return boolean
*/
public static boolean validateTelecom(String mobile){
if(StringUtils.isEmpty(mobile)){
return Boolean.FALSE ;
}
return mobile.matches(CHINA_TELECOM_PATTERN) ;
} /**
* 验证是否是联通手机号 130,131,132,155,156,185,186,145,176,1707,1708,1709,175
* @param mobile 电话号码
* @return boolean
*/
public static boolean validateUnionMobile(String mobile){
if(StringUtils.isEmpty(mobile)){
return Boolean.FALSE ;
}
return mobile.matches(CHINA_UNICOM_PATTERN) ;
} /**
* 验证是否是移动手机号
* @param mobile 手机号 134,135,136,137,138,139,150,151,152,157,158,159,182,183,184,187,188,147,178,1705
* @return boolean
*/
public static boolean validateMoveMobile(String mobile){
if(StringUtils.isEmpty(mobile)){
return Boolean.FALSE ;
}
return mobile.matches(CHINA_MOVE_PATTERN) ;
} /**
* @Description: 验证密码格式 6-16 位字母、数字
* @param pwd 密码
* @return boolean
*/
public static boolean validatePwd(String pwd) {
if (StringUtils.isEmpty(pwd)){
return Boolean.FALSE;
}
return Pattern.matches(PASSWORD_PATTERN, pwd);
} /**
* 验证座机号码,格式如:58654567,023-58654567
* @param landline 固话、座机
* @return boolean
*/
public static boolean validateLandLine(final String landline) {
if(StringUtils.isEmpty(landline)){
return Boolean.FALSE;
}
return landline.matches(LANDLINE_PATTERN);
} /**
* 验证邮政编码
* @param postCode 邮政编码
* @return boolean
*/
public static boolean validatePostCode(final String postCode){
if(StringUtils.isEmpty(postCode)){
return Boolean.FALSE ;
}
return postCode.matches(POSTCODE_PATTERN) ;
} /**
* 验证邮箱(电子邮件)
* @param email 邮箱(电子邮件)
* @return boolean
*/
public static boolean validateEamil(final String email){
if(StringUtils.isEmpty(email)){
return Boolean.FALSE ;
}
return email.matches(EMAIL_PATTERN) ;
} /**
* 判断年龄,1-120之间
* @param age 年龄
* @return boolean
*/
public static boolean validateAge(final String age){
if(StringUtils.isEmpty(age)){
return Boolean.FALSE ;
}
return age.matches(AGE_PATTERN) ;
} /**
* 身份证验证
* @param idCard 身份证
* @return boolean
*/
public static boolean validateIDCard(final String idCard){
if(StringUtils.isEmpty(idCard)){
return Boolean.FALSE ;
}
return idCard.matches(IDCARD_PATTERN) ;
} /**
* URL地址验证
* @param url URL地址
* @return boolean
*/
public static boolean validateUrl(final String url){
if(StringUtils.isEmpty(url)){
return Boolean.FALSE ;
}
return url.matches(URL_PATTERN) ;
} /**
* 验证QQ号
* @param qq QQ号
* @return boolean
*/
public static boolean validateQq(final String qq){
if(StringUtils.isEmpty(qq)){
return Boolean.FALSE ;
}
return qq.matches(QQ_PATTERN) ;
} /**
* 验证字符串是否全是汉字
* @param str 字符串
* @return boolean
*/
public static boolean validateChinese(final String str){
if(StringUtils.isEmpty(str)){
return Boolean.FALSE ;
}
return str.matches(CHINESE_PATTERN) ;
} /**
* 判断字符串是否全字母
* @param str 字符串
* @return boolean
*/
public static boolean validateStrEnglish(final String str){
if(StringUtils.isEmpty(str)){
return Boolean.FALSE ;
}
return str.matches(STR_ENG_PATTERN) ;
} /**
* 判断是否是整数,包括负数
* @param str 字符串
* @return boolean
*/
public static boolean validateInteger(final String str){
if(StringUtils.isEmpty(str)){
return Boolean.FALSE ;
}
return str.matches(INTEGER_PATTERN) ;
} /**
* 判断是否是大于0的正整数
* @param str 字符串
* @return boolean
*/
public static boolean validatePositiveInt(final String str){
if(StringUtils.isEmpty(str)){
return Boolean.FALSE ;
}
return str.matches(POSITIVE_INTEGER_PATTERN) ;
} }
ValidateUtil常用验证工具类,如手机、密码、邮箱等的更多相关文章
- Java常用工具类---XML工具类、数据验证工具类
package com.jarvis.base.util; import java.io.File;import java.io.FileWriter;import java.io.IOExcepti ...
- 正则表达式验证工具类RegexUtils.java
Java 表单注册常用正则表达式验证工具类,常用正则表达式大集合. 1. 电话号码 2. 邮编 3. QQ 4. E-mail 5. 手机号码 6. URL 7. 是否为数字 8. 是否为中文 9. ...
- commons-collections包中的常用的工具类
commons-collections包中的常用的工具类 <dependency> <groupId>commons-collections</groupId> & ...
- Android常用的工具类
主要介绍总结的Android开发中常用的工具类,大部分同样适用于Java.目前包括HttpUtils.DownloadManagerPro.ShellUtils.PackageUtils. Prefe ...
- 验证工具类 - ValidateUtils.java
验证工具类,提供验证email格式.是否ipv4.是否ipv6.是否中文.是否数字.正则表达式验证的方法. 源码如下:(点击下载 - ValidateUtils.java .commons-lang- ...
- Android常用的工具类(转)
主要介绍总结的Android开发中常用的工具类,大部分同样适用于Java.目前包括HttpUtils.DownloadManagerPro.ShellUtils.PackageUtils.Prefer ...
- 2013最新Android常用的工具类整理
主要介绍总结的Android开发中常用的工具类,大部分同样适用于Java. 目前包括HttpUtils.DownloadManagerPro.ShellUtils.PackageUtils. Pref ...
- java后台表单验证工具类
/** * 描述 java后台表单验证工具类 * * @ClassName ValidationUtil * @Author wzf * @DATE 2018/10/27 15:21 * @VerSi ...
- Java语言Lang包下常用的工具类介绍_java - JAVA
文章来源:嗨学网 敏而好学论坛www.piaodoo.com 欢迎大家相互学习 无论你在开发哪中 Java 应用程序,都免不了要写很多工具类/工具函数.你可知道,有很多现成的工具类可用,并且代码质量都 ...
随机推荐
- 牛客 545C 出题人的数组 (贪心)
出题人有两个数组A,B,请你把两个数组归并起来使得$cost=\sum i c_i$最小. 归并要求原数组的数的顺序在新数组中不改变. 贪心水题 对于一段序列$A_i,A_{i+1},...,A_r$ ...
- windows下一步到位搭建pycharm的开发环境
pycharm的开发环境主要涉及到以下三个方面 pycharm的激活 这里采用破解的方式来达到永久激活的目的,因为激活码用着用着就过期的你,会发现不厌其烦的 通过测试,这个破解包适用于2017-201 ...
- RBAC(基于角色的访问控制)用户权限管理数据库设计
RBAC(Role-Based Access Control,基于角色的访问控制),就是用户通过角色与权限进行关联.简单地说,一个用户拥有若干角色,每一个角色拥有若干权限.这样,就构造成“用户-角色- ...
- [转载]MySQL的存储引擎
[转载]MySQL的存储引擎 来源:https://www.cnblogs.com/lina1006/archive/2011/04/29/2032894.html 其实这是个只有在MySQL中才存在 ...
- 韦东山嵌入式Linux学习笔记02--如何给开发板烧录程序
购买韦东山嵌入式开发板jz2440 v3会标配两根usb线和一根网线,OpenJtag需要单独购买, 我暂时还没买到该工具. 下面介绍usb烧录以及通过网线烧录程序. 1.usb烧录程序: 借助DNW ...
- deep_learning_Function_numpy_newaxis参数
np.newaxis的作用就是在这一位置增加一个一维,这一位置指的是np.newaxis所在的位置,比较抽象,需要配合例子理解. x1 = np.array([1, 2, 3, 4, 5]) # th ...
- 指针、数组与sizeof运算符
指针.数组与sizcof运算符 (1)sizeof是c语言的一个运算符(主要sizeof不是函数,虽然用法很像函数),sizeof的作用是用来返同()里面的变量或者数据类型占用的内存字节数. (2)s ...
- zabbix 启到不起来:active check configuration update from [127.0.0.1:10051] started to fail (cannot connect to [[127.0.0.1]:10051]: [111] Connection refused)
cat /var/log/zabbix_agent_log 查看日记出现报错:active check configuration update from [127.0.0.1:10051] star ...
- osworkflow 入门基础
OSWorkFlow入门指南目的 这篇指导资料的目的是介绍OSWorkflow的所有概念,指导你如何使用它,并且保证你逐步理解OSWorkflow的关键内容. 本指导资料假定你已经部署OSWorkfl ...
- PhpStorm中如何使用database工具,详细操作方法
1.简介: PhpStorm是一个轻量级且便捷的PHP IDE,其提供的智能代码补全,快速导航以及即时错误检查等功能大大提高了编码效率.它以其独特的开发便利性,短时间内赢得了大量PHPer的青睐. ...