Android 中正则表达式工具类

Posted monkey0928

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android 中正则表达式工具类相关的知识,希望对你有一定的参考价值。

  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 中正则表达式工具类的主要内容,如果未能解决你的问题,请参考以下文章

15Java常用类(数组工具类Arrays)基本类型包装类(Integer类)正则表达式String的split(String regex)和replaceAll(String regex, (代码片

通过 Java 正则表达式提取 semver 版本字符串的片段

攻破难啃的骨头-正则表达式(转)

正则表达式工具类单例

android经常使用正则工具类

Java常用工具类之RegexpUtils,正则表达式工具类