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 }

原文地址:https://www.cnblogs.com/monkey0928/p/9208859.html

时间: 2024-10-09 23:50:02

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

Android中Xml工具类的封装

Android中经常使用到操作XML,其中有一对XmlSerializer和XmlPullParser封装的很好,可是操作起来很复杂,虽然不难,但是感觉做了一点小事却写了一大堆的代码.有点烦,因此封装一下. 其思路为:根据传入的数据,获取字节码后进行反射解析,然后在存储.思路很简单,此demo只写了一个基本的List<T>类型的,其它类型道理与此大同小异,就当这个是抛砖引玉了. 对于一些Model可能有些字段是不需要序列化的,这里可以使用注解来操作 /** * XML操作工具类 * @auth

Android常用的工具类

主要介绍总结的Android开发中常用的工具类,大部分同样适用于Java.目前包括HttpUtils.DownloadManagerPro.ShellUtils.PackageUtils.PreferencesUtils.JSONUtils.FileUtils.ResourceUtils.StringUtils.ParcelUtils.RandomUtils.ArrayUtils.ImageUtils.ListUtils.MapUtils.ObjectUtils.SerializeUtils.S

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

一个使用命令行编译Android项目的工具类 简介 编译apk项目需要使用的几个工具,基本都在sdk中,它们分别是(Windows系统): 1.aapt.exe 资源打包工具 2.android.jar Android编译工具 3.dx.bat dex文件生成工具 4.sdklib.jar 生成apk 5.jarsigner 签名工具 准备 在打包前,需要的环境如下: 1.JDK1.6+ 2.Android SDK 3.上述5个工具的路径 打包过程 1.生成R.java文件 比如: aapt p

Android常用正则工具类

此类提供日常开发中常用的正则验证函数,比如:邮箱.手机号.电话号码.身份证号码.日期.数字.小数.URL.IP地址等.使用Pattern对象的matches方法进行整个字符匹配,调用该方法相当于:        Pattern p = Pattern.compile(regex);        Matcher m = p.matcher(input);        return m.matches();每个正则可能还有待优化的地方,您如有更好的方式实现某一个功能的验证,欢迎提出来大家一起讨论

Hutool之正则表达式工具类——ReUtil

前言 在文本处理中,正则表达式几乎是全能的,但是Java的正则表达式有时候处理一些事情还是有些繁琐,所以我封装了部分常用功能.就比如说我要匹配一段文本中的某些部分,我们需要这样做: Pattern pattern = Pattern.compile(regex, Pattern.DOTALL); Matcher matcher = pattern.matcher(content); if (matcher.find()) { String result= matcher.group(); } 其

正则表达式工具类单例

/// <summary> /// 正则表达式工具类单例 /// </summary> public class RegexTool { private static volatile RegexTool regex = null; private static object syncRoot = new Object(); /// <summary> /// 注册需要转换的类型 /// </summary> private RegexTool() { }

Android中的Matrix类介绍

Matrix顾名思义就是大学的线性代数中的矩阵,关于矩阵的基本知识和加减乘除运算这里不再赘述. Android中的Matrix类是一个比较简单的3x3的3阶矩阵,结构如下: float matrix = {MSCALE_X, MSKEW_X, MTRANS_X, MSKEW_Y, MSCALE_Y, MTRANS_Y, MPERSP_0, MPERSP_1, MPERSP_2 }; 结构如上:其中 MSCALE_X和MSCALE_Y分别是控制X轴和Y轴方向的缩放,MSKEW_X和MSKEW_Y是

(转)Android中的基类—抽取出来公共的方法

在Android中,一般来说一个应用会存在几十个页面,并且一个应用一般也会使用一个特定的主题,其中的页面的风格也是一致的,并且页面中的动画效果.页面的切换效果等也应该保持同样的风格,那么就需要一个基类,来完成页面的基础设置,这就是所谓的基类. 界面统一管理原因 当应用中的界面达到一定数量级时,如几十个界面,便于项目管理 提高界面的处理速度 避免由于多Activity导致的问题 界面统一管理的基础 当应用中的界面达到一定数量级时,为了能够让用户更容易操作上手,产品设计时会将界面显示风格进行统一.

(转)谈谈Android中的Rect类——奇葩的思维

最近在工作中遇到了一些问题,总结下来就是Android中Rect这个类造成的.不得不说,不知道Android SDK的开发人员是怎么想的, 这个类设计的太奇葩了.首先介绍一下Rect类:Rect类主要用于表示坐标系中的一块矩形区域,并可以对其做一些简单操作.这块矩形区域,需要用左上右下两个坐标点表示(left,top,right,bottom),你也可以获取一个Rect实例的Width和Height.就在这里,奇葩的事情来了,作为一个有一点经验的做图像或者矩阵运算或者编程的程序员来说,大家的共识