博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
正则表达式2
阅读量:5225 次
发布时间:2019-06-14

本文共 2479 字,大约阅读时间需要 8 分钟。

package
com.office.utility;
 
import
java.util.regex.Pattern;
 
/**
 
* 校验器:利用正则表达式校验邮箱、手机号等
 
*
 
* @author liujiduo
 
*
 
*/
public
class
Validator {
    
/**
     
* 正则表达式:验证用户名
     
*/
    
public
static
final
String REGEX_USERNAME =
"^[a-zA-Z]\\w{5,17}$"
;
 
    
/**
     
* 正则表达式:验证密码
     
*/
    
public
static
final
String REGEX_PASSWORD =
"^[a-zA-Z0-9]{6,16}$"
;
 
    
/**
     
* 正则表达式:验证手机号
     
*/
    
public
static
final
String REGEX_MOBILE =
"^((13[0-9])|(15[^4,\\D])|(18[0,5-9]))\\d{8}$"
;
 
    
/**
     
* 正则表达式:验证邮箱
     
*/
    
public
static
final
String REGEX_EMAIL =
"^([a-z0-9A-Z]+[-|\\.]?)+[a-z0-9A-Z]@([a-z0-9A-Z]+(-[a-z0-9A-Z]+)?\\.)+[a-zA-Z]{2,}$"
;
 
    
/**
     
* 正则表达式:验证汉字
     
*/
    
public
static
final
String REGEX_CHINESE =
"^[\u4e00-\u9fa5],{0,}$"
;
 
    
/**
     
* 正则表达式:验证身份证
     
*/
    
public
static
final
String REGEX_ID_CARD =
"(^\\d{18}$)|(^\\d{15}$)"
;
 
    
/**
     
* 正则表达式:验证URL
     
*/
    
public
static
final
String REGEX_URL =
"http(s)?://([\\w-]+\\.)+[\\w-]+(/[\\w- ./?%&=]*)?"
;
 
    
/**
     
* 正则表达式:验证IP地址
     
*/
    
public
static
final
String REGEX_IP_ADDR =
"(25[0-5]|2[0-4]\\d|[0-1]\\d{2}|[1-9]?\\d)"
;
 
    
/**
     
* 校验用户名
     
*
     
* @param username
     
* @return 校验通过返回true,否则返回false
     
*/
    
public
static
boolean
isUsername(String username) {
        
return
Pattern.matches(REGEX_USERNAME, username);
    
}
 
    
/**
     
* 校验密码
     
*
     
* @param password
     
* @return 校验通过返回true,否则返回false
     
*/
    
public
static
boolean
isPassword(String password) {
        
return
Pattern.matches(REGEX_PASSWORD, password);
    
}
 
    
/**
     
* 校验手机号
     
*
     
* @param mobile
     
* @return 校验通过返回true,否则返回false
     
*/
    
public
static
boolean
isMobile(String mobile) {
        
return
Pattern.matches(REGEX_MOBILE, mobile);
    
}
 
    
/**
     
* 校验邮箱
     
*
     
* @param email
     
* @return 校验通过返回true,否则返回false
     
*/
    
public
static
boolean
isEmail(String email) {
        
return
Pattern.matches(REGEX_EMAIL, email);
    
}
 
    
/**
     
* 校验汉字
     
*
     
* @param chinese
     
* @return 校验通过返回true,否则返回false
     
*/
    
public
static
boolean
isChinese(String chinese) {
        
return
Pattern.matches(REGEX_CHINESE, chinese);
    
}
 
    
/**
     
* 校验身份证
     
*
     
* @param idCard
     
* @return 校验通过返回true,否则返回false
     
*/
    
public
static
boolean
isIDCard(String idCard) {
        
return
Pattern.matches(REGEX_ID_CARD, idCard);
    
}
 
    
/**
     
* 校验URL
     
*
     
* @param url
     
* @return 校验通过返回true,否则返回false
     
*/
    
public
static
boolean
isUrl(String url) {
        
return
Pattern.matches(REGEX_URL, url);
    
}
 
    
/**
     
* 校验IP地址
     
*
     
* @param ipAddr
     
* @return
     
*/
    
public
static
boolean
isIPAddr(String ipAddr) {
        
return
Pattern.matches(REGEX_IP_ADDR, ipAddr);
    
}
 
    
public
static
void
main(String[] args) {
        
String username =
"fdsdfsdj"
;
        
System.out.println(Validator.isUsername(username));
        
System.out.println(Validator.isChinese(username));
    
}
}

转载于:https://www.cnblogs.com/zhuzhuxuan/p/5542727.html

你可能感兴趣的文章
js 时间对象方法
查看>>
网络请求返回HTTP状态码(404,400,500)
查看>>
Spring的JdbcTemplate、NamedParameterJdbcTemplate、SimpleJdbcTemplate
查看>>
Mac下使用crontab来实现定时任务
查看>>
303. Range Sum Query - Immutable
查看>>
图片加载失败显示默认图片占位符
查看>>
【★】浅谈计算机与随机数
查看>>
《代码阅读方法与实现》阅读笔记一
查看>>
解决 sublime text3 运行python文件无法input的问题
查看>>
javascript面相对象编程,封装与继承
查看>>
Atlas命名空间Sys.Data下控件介绍——DataColumn,DataRow和DataTable
查看>>
Java中正则表达式的使用
查看>>
算法之搜索篇
查看>>
新的开始
查看>>
java Facade模式
查看>>
NYOJ 120校园网络(有向图的强连通分量)(Kosaraju算法)
查看>>
SpringAop与AspectJ
查看>>
Leetcode 226: Invert Binary Tree
查看>>
http站点转https站点教程
查看>>
解决miner.start() 返回null
查看>>