正则表达式工具类

正则表达式封装

Java正则表达式

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>.

蕃薯耀 2016年4月6日 09:45:10 星期三

http://fanshuyao.iteye.com/

package com.chinagas.org.common.utils;

import java.util.regex.Matcher;
import java.util.regex.Pattern; public final class RegUtils { /*------------------ 正则表达式 ---------------------*/
/**
* 邮箱
*/
public static final String REGEX_EMAIL = "^\\w+((-\\w+)|(\\.\\w+))*\\@[A-Za-z0-9]+((\\.|-)[A-Za-z0-9]+)*\\.[A-Za-z0-9]+$";
/**
* 手机号码
*/
public static final String REGEX_PHONE = "^13[0-9]{9}|15[012356789][0-9]{8}|18[0-9]{9}|(14[57][0-9]{8})|(17[015678][0-9]{8})$";
/**
* 仅中文
*/
public static final String REGEX_CHINESE = "^[\\u4E00-\\u9FA5\\uF900-\\uFA2D]+$";
/**
* 整数
*/
public static final String REGEX_INTEGER = "^-?[1-9]\\d*$";
/**
* 数字
*/
public static final String REGEX_NUMBER = "^([+-]?)\\d*\\.?\\d+$";
/**
* 正整数
*/
public static final String REGEX_INTEGER_POS = "^[1-9]\\d*$";
/**
* 浮点数
*/
public static final String REGEX_FLOAT = "^([+-]?)\\d*\\.\\d+$";
/**
* 正浮点数
*/
public static final String REGEX_FLOAT_POS = "^[1-9]\\d*.\\d*|0.\\d*[1-9]\\d*$";
/**
* 字母
*/
public static final String REGEX_LETTER = "^[A-Za-z]+$";
/**
* 大写字母
*/
public static final String REGEX_LETTER_UPPERCASE = "^[A-Z]+$";
/**
* 小写字母
*/
public static final String REGEX_LETTER_LOWERCASE = "^[a-z]+$";
/**
* 邮编
*/
public static final String REGEX_ZIPCODE = "^\\d{6}$";
/**
* ip v4地址
*/
public static final String REGEX_IP4 = "^(25[0-5]|2[0-4]\\d|[0-1]\\d{2}|[1-9]?\\d)\\.(25[0-5]|2[0-4]\\d|[0-1]\\d{2}|[1-9]?\\d)\\.(25[0-5]|2[0-4]\\d|[0-1]\\d{2}|[1-9]?\\d)\\.(25[0-5]|2[0-4]\\d|[0-1]\\d{2}|[1-9]?\\d)$";
/**
* 图片
*/
public static final String REGEX_PICTURE = "(.*)\\.(jpg|bmp|gif|ico|pcx|jpeg|tif|png|raw|tga)$";/**
/**
* 压缩文件
*/
public static final String REGEX_RAR = "(.*)\\.(rar|zip|7zip|tgz)$";
/**
* QQ号码,最短5位,最长15位数字
*/
public static final String REGEX_QQ = "^[1-9]\\d{4,14}$";
/**
* 日期(yyyy-MM-dd)
*/
public static final String REGEX_DATE = "^\\d{4}\\D+\\d{2}\\D+\\d{2}$";
/**
* 日期(yyyy-MM-dd),精确,能检查到2月及31号
*/
public static final String REGEX_DATE_PRECISE = "^((\\d{2}(([02468][048])|([13579][26]))[\\-\\/\\s]?((((0?[13578])|(1[02]))[\\-\\/\\s]?((0?[1-9])|([1-2][0-9])|(3[01])))|(((0?[469])|(11))[\\-\\/\\s]?((0?[1-9])|([1-2][0-9])|(30)))|(0?2[\\-\\/\\s]?((0?[1-9])|([1-2][0-9])))))|(\\d{2}(([02468][1235679])|([13579][01345789]))[\\-\\/\\s]?((((0?[13578])|(1[02]))[\\-\\/\\s]?((0?[1-9])|([1-2][0-9])|(3[01])))|(((0?[469])|(11))[\\-\\/\\s]?((0?[1-9])|([1-2][0-9])|(30)))|(0?2[\\-\\/\\s]?((0?[1-9])|(1[0-9])|(2[0-8]))))))";
/**
* 时间(HH:mm:ss或HH:mm)
*/
public static final String REGEX_TIME = "^((([0-1][0-9])|2[0-3]):[0-5][0-9])(:[0-5][0-9])?$"; /**
* 校验手机号码
* @param mobile
* @return
* @author lqyao
*/
public static final boolean isMoblie(String mobile){
boolean flag = false;
if (null != mobile && !mobile.trim().equals("") && mobile.trim().length() == 11) {
Pattern pattern = Pattern.compile(REGEX_PHONE);
Matcher matcher = pattern.matcher(mobile.trim());
flag = matcher.matches();
}
return flag;
} /**
* 校验邮箱
* @param value
* @return
* @author lqyao
*/
public static final boolean isEmail(String value){
boolean flag = false;
if (null != value && !value.trim().equals("")) {
Pattern pattern = Pattern.compile(REGEX_EMAIL);
Matcher matcher = pattern.matcher(value.trim());
flag = matcher.matches();
}
return flag;
} /**
* 校验密码
* @param password
* @return 长度符合返回true,否则为false
* @author lqyao
* @since 2015-09-24
*/
public static final boolean isPassword(String password){
boolean flag = false;
if (null != password && !password.trim().equals("")) {
password = password.trim();
if(password.length() >= 6 && password.length() <= 30){
return true;
}
}
return flag;
} /**
* 校验手机验证码
* @param value
* @return 符合正则表达式返回true,否则返回false
* @author lqyao
* @since 2015-09-24
*/
public static final boolean isPhoneValidateCode(String value){
boolean flag = false;
if (null != value && !value.trim().equals("")) {
Pattern pattern = Pattern.compile("^8\\d{5}$");
Matcher matcher = pattern.matcher(value.trim());
flag = matcher.matches();
}
return flag;
} /**
* 正则表达式校验,符合返回True
* @param regex 正则表达式
* @param content 校验的内容
* @return
* @author lqy
*/
public static boolean isMatch(String regex, CharSequence content){
return Pattern.matches(regex, content);
} public static boolean isUpperCase(String str){
if(StrUtils.isEmpty(str)){
return false;
}
String reg = "^[A-Z]$";
return isMatch(reg,str);
}
}

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>.

蕃薯耀 2016年4月6日 09:45:10 星期三

http://fanshuyao.iteye.com/

正则表达式工具类,正则表达式封装,Java正则表达式的更多相关文章

  1. java工具类(二)之java正则表达式表单验证

    java正则表达式表单验证类工具类(验证邮箱.手机号码.qq号码等) 这篇文章主要介绍了java使用正则表达式进行表单验证工具类,可以验证邮箱.手机号码.qq号码等方法,需要的朋友可以参考下. jav ...

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

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

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

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

  4. 分页 工具类 前后台代码 Java JavaScript (ajax) 实现 讲解

    [博客园cnblogs笔者m-yb原创, 转载请加本文博客链接,笔者github: https://github.com/mayangbo666,公众号aandb7,QQ群927113708]http ...

  5. iOS开发--QQ音乐练习,旋转动画的实现,音乐工具类的封装,定时器的使用技巧,SliderBar的事件处理

    一.旋转动画的实现 二.音乐工具类的封装 -- 返回所有歌曲,返回当前播放歌曲,设置当前播放歌曲,返回下一首歌曲,返回上一首歌曲方法的实现 头文件 .m文件 #import "ChaosMu ...

  6. JDBC工具类—如何封装JDBC

    “获得数据库连接”操作,将在以后的增删改查所有功能中都存在,可以封装工具类JDBCUtils.提供获取连接对象的方法,从而达到代码的重复利用. 该工具类提供方法:public static Conne ...

  7. jdbc工具类的封装,以及表单验证数据提交后台

    在之前已经写过了jdbc的工具类,不过最近学习了新的方法,所以在这里重新写一遍,为后面的javaEE做铺垫: 首先我们要了解javaEE项目中,文件构成,新建一个javaEE项目,在项目中,有一个we ...

  8. swift项目第十天:网络请求工具类的封装

    import UIKit /* 必须先导入头文件:import AFNetworking */ import AFNetworking //MARK:-0:定义枚举:以枚举定义请求网络的get和pos ...

  9. jwt工具类的封装

    第一步先引入jar: <dependency> <groupId>com.nimbusds</groupId> <artifactId>nimbus-j ...

随机推荐

  1. C# 的 WCF文章 消息契约(Message Contract)在流(Stream )传输大文件中的应用

    我也遇到同样问题,所以抄下做MARK http://www.cnblogs.com/lmjq/archive/2011/07/19/2110319.html 刚做完一个binding为netTcpBi ...

  2. 利用TEA算法进行数据加密

    TEA(Tiny Encryption Algorithm)是一种小型的对称加密解密算法,最初是由剑桥计算机实验室的 David Wheeler 和 Roger Needham 在 1994 年设计. ...

  3. Navigation Drawer介绍

    在2013 google IO当天,Android团的更新了Support库,新版本(V13)的Support库中新加入了几个比较重要的功能. 添加 DrawerLayout 控件,支持创建  Nav ...

  4. haskell Types 和 Typeclasses

    Algebraic Data Types 入门 在前面的章节中,我们谈了一些 Haskell 内置的类型和 Typeclass.而在本章中,我们将学习构造类型和 Typeclass 的方法. 我们已经 ...

  5. 【HDOJ】3416 Marriage Match IV

    先求SPSS.然后遍历每条边,检查是否为最短路径的边,如果是(dis[v]==dis[u]+w)则加入到网络流中.最后Dinic最大流. /* 3416 */ #include <iostrea ...

  6. winform异型不规则界面设计

    一,不规则WINFORM窗体 Author:unknown From:Internet在以前版本的Visual Basic或Visual C++中,创建不规则窗体和控件是一件很复杂的事,不仅需要调用大 ...

  7. 【转】iOS开发者账号和证书

    原文网址:http://www.jianshu.com/p/8e967c1d95c2 从Xcode7之后,苹果支持了免证书调试,但是若是需要调试推送功能,或者需要发布App,则需要使用付费的开发者账户 ...

  8. CSS中背景图片定位方法

    转自:http://www.ruanyifeng.com/blog/2008/05/css_background_image_positioning.html 作者: 阮一峰 日期: 2008年5月 ...

  9. sql server 自定义函数

    create function 函数名 (@pno int) returns int as begin declare @a int if not exists(select * from perso ...

  10. 执行configure报错configure: error: C++ preprocessor "/lib/cpp" fails sanity check

    解决方案: 出现该情况是由于c++编译器的相关package没有安装,以root用户登陆,在终端上执行: # yum install glibc-headers # yum install gcc-c ...