常用java正则表达式的工具类
作者:小甜瓜安东泥 发布时间:2023-06-14 09:16:46
标签:java,正则表达式
本文实例为大家分享了java正则表达式工具类的具体代码,供大家参考,具体内容如下
import com.google.common.base.Strings;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
/**
* 常用的正则表达式
* Created by tookbra on 2016/4/7.
*/
public class RegexUtils {
/**
* 判断是否是正确的IP地址
*
* @param ip
* @return boolean true,通过,false,没通过
*/
public static boolean isIp(String ip) {
if (Strings.isNullOrEmpty(ip))
return false;
String regex = "^(1\\d{2}|2[0-4]\\d|25[0-5]|[1-9]\\d|[1-9])\\."
+ "(1\\d{2}|2[0-4]\\d|25[0-5]|[1-9]\\d|\\d)\\."
+ "(1\\d{2}|2[0-4]\\d|25[0-5]|[1-9]\\d|\\d)\\."
+ "(1\\d{2}|2[0-4]\\d|25[0-5]|[1-9]\\d|\\d)$";
return ip.matches(regex);
}
/**
* 判断是否是正确的邮箱地址
*
* @param email
* @return boolean true,通过,false,没通过
*/
public static boolean isEmail(String email) {
if (Strings.isNullOrEmpty(email))
return false;
String regex = "\\w+([-+.]\\w+)*@\\w+([-.]\\w+)*\\.\\w+([-.]\\w+)*";
return email.matches(regex);
}
/**
* 判断是否含有中文,仅适合中国汉字,不包括标点
* @param text
* @return boolean true,通过,false,没通过
*/
public static boolean isChinese(String text) {
if (Strings.isNullOrEmpty(text))
return false;
Pattern p = Pattern.compile("[\u4e00-\u9fa5]");
Matcher m = p.matcher(text);
return m.find();
}
/**
* 判断是否正整数
*
* @param number
* 数字
* @return boolean true,通过,false,没通过
*/
public static boolean isNumber(String number) {
if (Strings.isNullOrEmpty(number))
return false;
String regex = "[0-9]*";
return number.matches(regex);
}
/**
* 判断几位小数(正数)
*
* @param decimal
* 数字
* @param count
* 小数位数
* @return boolean true,通过,false,没通过
*/
public static boolean isDecimal(String decimal, int count) {
if (Strings.isNullOrEmpty(decimal))
return false;
String regex = "^(-)?(([1-9]{1}\\d*)|([0]{1}))(\\.(\\d){" + count
+ "})?$";
return decimal.matches(regex);
}
/**
* 判断是否是移动手机号码
*
* @param phoneNumber
* 移动手机号码
* @return boolean true,通过,false,没通过
*/
public static boolean isMobilePhoneNumber(String phoneNumber) {
if (Strings.isNullOrEmpty(phoneNumber))
return false;
String regex = "^((13[0-9])|(15[0-9])|(18[1-9]))\\d{8}$";
return phoneNumber.matches(regex);
}
/**
* 判断是否是手机号码
*
* @param phoneNumber
* 移动手机号码
* @return boolean true,通过,false,没通过
*/
public static boolean isPhoneNumber(String phoneNumber) {
if (Strings.isNullOrEmpty(phoneNumber))
return false;
String regex = "^1\\d{10}$";
return phoneNumber.matches(regex);
}
/**
* 判断是否含有特殊字符
*
* @param text
* @return boolean true,通过,false,没通过
*/
public static boolean hasSpecialChar(String text) {
if (Strings.isNullOrEmpty(text))
return false;
if (text.replaceAll("[a-z]*[A-Z]*\\d*-*_*\\s*", "").length() == 0) {
// 如果不包含特殊字符
return true;
}
return false;
}
private static boolean isChinese(char c) {
Character.UnicodeBlock ub = Character.UnicodeBlock.of(c);
if (ub == Character.UnicodeBlock.CJK_UNIFIED_IDEOGRAPHS
|| ub == Character.UnicodeBlock.CJK_COMPATIBILITY_IDEOGRAPHS
|| ub == Character.UnicodeBlock.CJK_UNIFIED_IDEOGRAPHS_EXTENSION_A
|| ub == Character.UnicodeBlock.CJK_UNIFIED_IDEOGRAPHS_EXTENSION_B
|| ub == Character.UnicodeBlock.CJK_SYMBOLS_AND_PUNCTUATION
|| ub == Character.UnicodeBlock.HALFWIDTH_AND_FULLWIDTH_FORMS
|| ub == Character.UnicodeBlock.GENERAL_PUNCTUATION) {
return true;
}
return false;
}
}
来源:http://www.cnblogs.com/YuyuanNo1/p/8034214.html


猜你喜欢
- 在开始使用Go进行编码时,Defer是要关注的一个很重要的特性。它非常简单:在任何函数中,给其他函数的调用加上前缀 defer以确保该函数在
- PHP添加图像处理(ImageMagick)下载地址:http://pecl.php.net/package/imagick安装说明:htt
- Python是什么Python(大蟒蛇)是一门解释型、面向对象、带有动态语义的高级程序设计语言。Python 是一门有条理的和强大的面向对象
- 下边我就简单说一下过程和原理。第一步:实现一个匿名函数并能自己执行。(function(){ })() 这个函数在一样编的好的J
- 脚本1:这两天用python写了一个删除指定目录下过期时间的脚本。也可能是我初学python,对python还不够熟习,总觉得这个脚本用sh
- 蚁群算法简介蚁群算法(Ant Clony Optimization, ACO)是一种群智能算法,它是由一群无智能或有轻微智能的个体(Agen
- 1. 变量每个变量都存储了一个值在程序中可以随时修改变量,但Python将始终记录变量的最新值message = "Hello H
- 本文主要介绍了Python通过tkinter实现百度搜索的示例代码,分享给大家,具体如下:"""百度搜索可视化
- 一、使用多个setting文件 开发Django项目是最常见,也是最麻烦的一个问题就是如何区分开发配置与线上配置。有一些解决方案是
- mysqladmin 工具的使用格式:mysqladmin [option] command [command option] comman
- 本文实例讲述了Python实现MySQL操作的方法。分享给大家供大家参考,具体如下:1. 安装MySQLdb.从网站下载Mysql for
- 提示框提示框的基本使用方式为:<span data-toggle="tooltip" data-original-
- 基于python的web项目,常见的部署方法有: fcgi:用spawn-fcg
- 这篇文章主要介绍了python3 pathlib库Path类方法总结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习
- re.search():匹配整个字符串,并返回第一个成功的匹配。如果匹配失败,则返回None pattern: 匹配的规则,str
- 把value插入dataframe的指定位置loc中,若插入的数据value已在DataFrame中,则返回 错误ValueError,如想
- 本文实例讲述了JavaScript内置对象math,global功能与用法。分享给大家供大家参考,具体如下:学习要点:1.Global对象2
- 1、检测登录状态base.pydef checkLogin(func):""" 查看session
- 人生苦短,快学Python!今天介绍的是psutil模块,它是一个跨平台库 https://github.com/giampaolo/psu
- PDO是PHP 5新加入的一个重大功能,因为在PHP 5以前的php4/php3都是一堆的数据库扩展来跟各个数据库的连接和处理,什么 php