概述

现在Android应用在注册的时候基本会校验邮箱、手机号、密码、身份证号码其中一项或多项,特此收集了相关的正则表达式给大家分享。除了正则表达式,文章末尾提供Demo中有惊喜哦!

具体验证的图片效果就不做展示了,有需要可以下载Demo演示。下面就贴出校检类。

/**
* 校验器:利用正则表达式校验邮箱、手机号等
* @author Mr.duan
*/
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 = "^(0|86|17951)?(13[0-9]|15[012356789]|17[678]|18[0-9]|14[57])[0-9]{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,}$"; /**
* 正则表达式:验证汉字(1-9个汉字) {1,9} 自定义区间
*/
public static final String REGEX_CHINESE = "^[\u4e00-\u9fa5]{1,9}$"; /**
* 正则表达式:验证身份证
*/
public static final String REGEX_ID_CARD = "(^\\d{15}$)|(^\\d{17}([0-9]|X)$)"; /**
* 正则表达式:验证URL
*/
public static final String REGEX_URL = "http(s)?://([\\w-]+\\.)+[\\w-]+(/[\\w- ./?%&=]*)?"; /**
* 正则表达式:验证IP地址
*/
public static final String REGEX_IP_ADDR = "(2[5][0-5]|2[0-4]\\d|1\\d{2}|\\d{1,2})\\.(25[0-5]|2[0-4]\\d|1\\d{2}|\\d{1,2})\\.(25[0-5]|2[0-4]\\d|1\\d{2}|\\d{1,2})\\.(25[0-5]|2[0-4]\\d|1\\d{2}|\\d{1,2})"; /**
* 校验用户名
* @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 ipAddress
* @return
*/
public static boolean isIPAddress(String ipAddress) {
return Pattern.matches(REGEX_IP_ADDR, ipAddress);
} }

后记 
感谢玩Android 3群的小伙伴的建议,Demo为最初始版本(上传后的资源不能再操作),Validator 类代码请以博文贴出的代码为准,会对常用的验证做出更新,有新的建议可以给我留言哦~

上源码

最新文章

  1. 学习微信小程序之css5
  2. 《JS设计模式笔记》 3,观察者模式
  3. apache与nginx的虚拟域名配置
  4. js转html实体
  5. Android 图片从网页中获取并动态加载到listview中
  6. 程序员欢呼:微软Bing开始支持搜索源码、可直接运行!
  7. asp.net mvc4 signalR后台自推送
  8. H5 69-清除浮动方式四
  9. @ControllerAdvice+@ExceptionHandler处理架构异常捕获
  10. idea 去除xml文件sql语句背景色
  11. JS脚本计算从某日凌晨开始,经过了多长时间
  12. Java并发编程之AbstractQueuedSynchronizer源码分析
  13. Array.apply(null, {length: 20})和Array(20)的理解
  14. Tomacat 配置
  15. 关于postman中表单提交与数据包提交的问题,file_get_contents("php://input")可以获取数据,$_POST不能获取数据
  16. SAP HANA HDBSQL命令
  17. Linux学习笔记--vim
  18. POSIX 线程具体解释(3-相互排斥量:"固定加锁层次"/“试加锁-回退”)
  19. windows10 装linux子系统
  20. 1066. [SCOI2007]蜥蜴【最大流】

热门文章

  1. BZOJ 1009 :[HNOI2008]GT考试(KPM算法+dp+矩阵快速幂)
  2. 我的JS 中级学习篇
  3. UITableView多层展开与收起
  4. 清空file文件域的方法
  5. 2017-3-9 SQL server 数据库
  6. String和intern()浅析
  7. 测试不同格式下depth buffer的精度
  8. sed 删除换行符
  9. JSP文件转换成为JAVA文件后的结构
  10. css中设置div垂直水平居中的方法