1. package com.example.administrator.magiclamp.utils;
  2.  
  3. import java.util.regex.Pattern;
  4.  
  5. /**
  6. * 校验器:利用正则表达式校验邮箱、手机号等
  7. * @author Mr.duan
  8. */
  9. public class Validator {
  10. /**
  11. * 正则表达式:验证用户名(不包含中文和特殊字符)如果用户名使用手机号码或邮箱 则结合手机号验证和邮箱验证
  12. */
  13. public static final String REGEX_USERNAME = "^[a-zA-Z]\\w{5,17}$";
  14.  
  15. /**
  16. * 正则表达式:验证密码(不包含特殊字符)
  17. */
  18. public static final String REGEX_PASSWORD = "^[a-zA-Z0-9]{1,12}$";
  19.  
  20. /**
  21. * 正则表达式:验证手机号
  22. */
  23. public static final String REGEX_MOBILE = "^((13[0-9])|(15[^4,\\D])|(18[0,5-9]))\\d{8}$";
  24.  
  25. /**
  26. * 正则表达式:验证邮箱
  27. */
  28. 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,}$";
  29.  
  30. /**
  31. * 正则表达式:验证汉字(1-9个汉字) {1,9} 自定义区间
  32. */
  33. public static final String REGEX_CHINESE = "^[\u4e00-\u9fa5]{1,9}$";
  34.  
  35. /**
  36. * 正则表达式:验证身份证
  37. */
  38. public static final String REGEX_ID_CARD = "(\\d{14}[0-9a-zA-Z])|(\\d{17}[0-9a-zA-Z])";
  39.  
  40. /**
  41. * 正则表达式:验证URL
  42. */
  43. public static final String REGEX_URL = "http(s)?://([\\w-]+\\.)+[\\w-]+(/[\\w- ./?%&=]*)?";
  44.  
  45. /**
  46. * 正则表达式:验证IP地址
  47. */
  48. 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})";
  49.  
  50. /**
  51. * 校验用户名
  52. *
  53. * @param username
  54. * @return 校验通过返回true,否则返回false
  55. */
  56. public static boolean isUserName(String username) {
  57. return Pattern.matches(REGEX_USERNAME, username);
  58. }
  59.  
  60. /**
  61. * 校验密码
  62. *
  63. * @param password
  64. * @return 校验通过返回true,否则返回false
  65. */
  66. public static boolean isPassword(String password) {
  67. return Pattern.matches(REGEX_PASSWORD, password);
  68. }
  69.  
  70. /**
  71. * 校验手机号
  72. *
  73. * @param mobile
  74. * @return 校验通过返回true,否则返回false
  75. */
  76. public static boolean isMobile(String mobile) {
  77. return Pattern.matches(REGEX_MOBILE, mobile);
  78. }
  79.  
  80. /**
  81. * 校验邮箱
  82. *
  83. * @param email
  84. * @return 校验通过返回true,否则返回false
  85. */
  86. public static boolean isEmail(String email) {
  87. return Pattern.matches(REGEX_EMAIL, email);
  88. }
  89.  
  90. /**
  91. * 校验汉字
  92. *
  93. * @param chinese
  94. * @return 校验通过返回true,否则返回false
  95. */
  96. public static boolean isChinese(String chinese) {
  97. return Pattern.matches(REGEX_CHINESE, chinese);
  98. }
  99.  
  100. /**
  101. * 校验身份证
  102. *
  103. * @param idCard
  104. * @return 校验通过返回true,否则返回false
  105. */
  106. public static boolean isIDCard(String idCard) {
  107. return Pattern.matches(REGEX_ID_CARD, idCard);
  108. }
  109.  
  110. /**
  111. * 校验URL
  112. *
  113. * @param url
  114. * @return 校验通过返回true,否则返回false
  115. */
  116. public static boolean isUrl(String url) {
  117. return Pattern.matches(REGEX_URL, url);
  118. }
  119.  
  120. /**
  121. * 校验IP地址
  122. *
  123. * @param ipAddress
  124. * @return
  125. */
  126. public static boolean isIPAddress(String ipAddress) {
  127. return Pattern.matches(REGEX_IP_ADDR, ipAddress);
  128. }
  129.  
  130. }

  

Android 中正则表达式工具类的更多相关文章

  1. Android常用正则工具类

    此类提供日常开发中常用的正则验证函数,比如:邮箱.手机号.电话号码.身份证号码.日期.数字.小数.URL.IP地址等.使用Pattern对象的matches方法进行整个字符匹配,调用该方法相当于:   ...

  2. JAVA自动生成正则表达式工具类

    经过很久的努力,终于完成了JAVA自动生成正则表达式工具类.还记得之前需要正则,老是从网上找吗?找了想修改也不会修改.现在不用再为此烦恼了,使用此生成类轻松搞定所有正则表达式.赶快在同事面前炫一下吧. ...

  3. [Swift]正则表达式工具类

    正则表达式工具类 import Foundation //基于NSRegularExpression api 的正则处理工具类 public struct Regex { private let re ...

  4. (转载)实例详解Android快速开发工具类总结

    实例详解Android快速开发工具类总结 作者:LiJinlun 字体:[增加 减小] 类型:转载 时间:2016-01-24我要评论 这篇文章主要介绍了实例详解Android快速开发工具类总结的相关 ...

  5. 一个使用命令行编译Android项目的工具类

    一个使用命令行编译Android项目的工具类 简单介绍 编译apk项目须要使用的几个工具,基本都在sdk中,它们各自是(Windows系统): 1.aapt.exe 资源打包工具 2.android. ...

  6. 正则表达式工具类,正则表达式封装,Java正则表达式

    正则表达式工具类 正则表达式封装 Java正则表达式 >>>>>>>>>>>>>>>>>>& ...

  7. JUC学习笔记--JUC中并发工具类

    JUC中并发工具类 CountDownLatch CountDownLatch是我目前使用比较多的类,CountDownLatch初始化时会给定一个计数,然后每次调用countDown() 计数减1, ...

  8. Android 软件管理工具类Utils

    Android 软件管理工具类Utils /** * Created by uilubo on 2015/9/30. * 工具类 */ public class Utils { public stat ...

  9. JQuery中的工具类(五)

    一:1.serialize()序列表表格内容为字符串.返回值jQuery示例序列表表格内容为字符串,用于 Ajax 请求. HTML 代码:<p id="results"&g ...

随机推荐

  1. CentOS 7 Squid代理服务器正向代理-传统代理

    Squid是Linux系统中最常用的一款开源代理服务软件,主要提供缓存加速和应用层过滤控制的功能,可以很好的实现HTTP.FTP.DNS查询以及SSL等应用的缓存代理 传统代理:普通的代理服务,多见于 ...

  2. 日志入库-log4j-mysql连接中断问题

    mysql5.6 druid1.0.17 log4j 1.2.16 一定时间后无法连接  CommunicationsException: Communications link failure 粗暴 ...

  3. 关于Xamarin、Qml、数据绑定、MVC、MVVM 相关的散讲

    关于Xamarin.Qml.数据绑定.MVC.MVVM 相关的散讲 SURFSKY 2017.02 最近又在学习Xamarin了?为什么是“又”?有几个利好消息,让我重新拾起它: ()微软去年收购了X ...

  4. LoadXml 加载XML时,报错:“根级别上的数据无效。 行1,位置1“

    ==XML=================================== <?xml version="1.0" encoding="utf-8" ...

  5. mysql_study_5

    代码 mysql> CREATE TABLE shop ( ) UNSIGNED ZEROFILL ' NOT NULL, ) DEFAULT '' NOT NULL, ,) DEFAULT ' ...

  6. css学习-》养成路线

    雅虎工程师提供的CSS初始化示例代码 body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,code,form,fieldset,legend,input, ...

  7. DB2数据库常用的函数

    1.value函数 语法value(表达式1,表达式2)value函数是用返回一个非空的值,当其第一个参数非空,直接返回该参数的值,如果第一个参数为空,则返回第一个参数的值. eg:表示如果T1.ID ...

  8. 笔记本电脑没有Pause键,远程桌面无法全屏

    用过mstsc远程桌面的都知道,可以用CTRL+ALT+Break 切换为全屏操作,但有些品牌的电脑不知道设计理念是啥,居然没有Break键,解决办法就是用Fn+B键替换Break键,也就是同时按住C ...

  9. Linq、Lambda表达式详细总结(转)

    (一)输入参数 在Lambda表达式中,输入参数是Lambda运算符的 左边部分.它包含参数的数量可以为0.1或者多个.只有当输入参数为1时,Lambda表达式左边的一对小括弧才可以省略.输入参数的数 ...

  10. 解决docker主机配置了DaoCloud.io的加速后重启失败问题Failed to start Docker Application Container Engine

    问题说明 正常运行的docker主机配置了DaoCloud.io加速后重启报如下错 解决过程 问题原因: 重新配置加速器后发现,daocloud的配置信息是写在/etc/docker/daemon.j ...