package com.beike.springboot.other;import java.util.regex.Matcher;
import java.util.regex.Pattern;/*** @ClassName: CommonRegex* @description: * @date: 2019/5/28 11:06*/
public class CommonRegex {/*** 验证Email** @param email email地址,格式:zhang@gmail.com,zhang@xxx.com.cn,xxx代表邮件服务商* @return 验证成功返回true,验证失败返回false*/public static boolean checkEmail(String email) {String regex = "\\w+@\\w+\\.[a-z]+(\\.[a-z]+)?";return Pattern.matches(regex, email);}/*** 验证身份证号码** @param idCard 居民身份证号码15位或18位,最后一位可能是数字或字母* @return 验证成功返回true,验证失败返回false*/public static boolean checkIdCard(String idCard) {String regex = "[1-9]\\d{13,16}[a-zA-Z0-9]{1}";return Pattern.matches(regex, idCard);}/*** 验证手机号码(支持国际格式,+86135xxxx...(中国内地),+00852137xxxx...(中国香港))** @param mobile 移动、联通、电信运营商的号码段*               移动的号段:134(0-8)、135、136、137、138、139、147(预计用于TD上网卡)*               、150、151、152、157(TD专用)、158、159、187(未启用)、188(TD专用)*               联通的号段:130、131、132、155、156(世界风专用)、185(未启用)、186(3g)*               电信的号段:133、153、180(未启用)、189* @return 验证成功返回true,验证失败返回false*/public static boolean checkMobile(String mobile) {String regex = "(\\+\\d+)?1[3458]\\d{9}$";return Pattern.matches(regex, mobile);}/*** 验证固定电话号码** @param phone 电话号码,格式:国家(地区)电话代码 + 区号(城市代码) + 电话号码,如:+8602085588447*              国家(地区) 代码 :标识电话号码的国家(地区)的标准国家(地区)代码。它包含从 0 到 9 的一位或多位数字,*              数字之后是空格分隔的国家(地区)代码。*              区号(城市代码):这可能包含一个或多个从 0 到 9 的数字,地区或城市代码放在圆括号——*              对不使用地区或城市代码的国家(地区),则省略该组件。*              电话号码:这包含从 0 到 9 的一个或多个数字* @return 验证成功返回true,验证失败返回false*/public static boolean checkPhone(String phone) {String regex = "(\\+\\d+)?(\\d{3,4}\\-?)?\\d{7,8}$";return Pattern.matches(regex, phone);}/*** 验证整数(正整数和负整数)** @param digit 一位或多位0-9之间的整数* @return 验证成功返回true,验证失败返回false*/public static boolean checkDigit(String digit) {String regex = "\\-?[1-9]\\d+";return Pattern.matches(regex, digit);}/*** 验证整数和浮点数(正负整数和正负浮点数)** @param decimals 一位或多位0-9之间的浮点数,如:1.23,233.30* @return 验证成功返回true,验证失败返回false*/public static boolean checkDecimals(String decimals) {String regex = "\\-?[1-9]\\d+(\\.\\d+)?";return Pattern.matches(regex, decimals);}/*** 验证空白字符** @param blankSpace 空白字符,包括:空格、\t、\n、\r、\f、\x0B* @return 验证成功返回true,验证失败返回false*/public static boolean checkBlankSpace(String blankSpace) {String regex = "\\s+";return Pattern.matches(regex, blankSpace);}/*** 验证中文** @param chinese 中文字符* @return 验证成功返回true,验证失败返回false*/public static boolean checkChinese(String chinese) {String regex = "^[\u4E00-\u9FA5]+$";return Pattern.matches(regex, chinese);}/*** 验证日期(年月日)** @param birthday 日期,格式:1992-09-03,或1992.09.03* @return 验证成功返回true,验证失败返回false*/public static boolean checkBirthday(String birthday) {String regex = "[1-9]{4}([-./])\\d{1,2}\\1\\d{1,2}";return Pattern.matches(regex, birthday);}/*** 验证URL地址** @param url 格式:http://blog.csdn.net:80/xyang81/article/details/7705960? 或 http://www.csdn.net:80* @return 验证成功返回true,验证失败返回false*/public static boolean checkURL(String url) {String regex = "(https?://(w{3}\\.)?)?\\w+\\.\\w+(\\.[a-zA-Z]+)*(:\\d{1,5})?(/\\w*)*(\\??(.+=.*)?(&.+=.*)?)?";return Pattern.matches(regex, url);}/*** * 获取网址 URL 的一级域名* http://detail.tmall.com/item.htm?spm=a230r.1.10.44.1xpDSH&id=15453106243&_u=f4ve1uq1092 ->> tmall.com** @param url* @return*/private static Pattern p = Pattern.compile("(?<=http://|\\.)[^.]*?\\.(com|cn|net|org|biz|info|cc|tv)", Pattern.CASE_INSENSITIVE);public static String getDomain(String url) {// 获取完整的域名// Pattern p=Pattern.compile("[^//]*?\\.(com|cn|net|org|biz|info|cc|tv)", Pattern.CASE_INSENSITIVE);Matcher matcher = p.matcher(url);matcher.find();return matcher.group();}/*** 匹配中国邮政编码** @param postcode 邮政编码* @return 验证成功返回true,验证失败返回false*/public static boolean checkPostcode(String postcode) {String regex = "[1-9]\\d{5}";return Pattern.matches(regex, postcode);}/*** 匹配IP地址(简单匹配,格式,如:192.168.1.1,127.0.0.1,没有匹配IP段的大小)** @param ipAddress IPv4标准地址* @return 验证成功返回true,验证失败返回false*/public static boolean checkIpAddress(String ipAddress) {String regex = "[1-9](\\d{1,2})?\\.(0|([1-9](\\d{1,2})?))\\.(0|([1-9](\\d{1,2})?))\\.(0|([1-9](\\d{1,2})?))";return Pattern.matches(regex, ipAddress);}//是否包含 . 号public static boolean checkContainsDot(String username) {return username.contains(".");}//是否包含连词符public static boolean checkContainsHyphen(String username) {return username.contains("-");}//密码长度 6-20public static boolean checkUserPasswordLength(String pwd) {return pwd.length() > 5 && pwd.length() < 21;}public static boolean isValidUserName(String un) {String regex = "([A-Z0-9a-z-]|[\\u4e00-\\u9fa5])+";return Pattern.matches(regex, un);}}

转载于:https://www.cnblogs.com/fanBlog/p/10935983.html

Java常用正则表达式相关推荐

  1. Java 常用正则表达式,Java正则表达式,Java身份证校验,最新手机号码正则表达式...

    Java 常用正则表达式,Java正则表达式,Java身份证校验,最新手机号码校验正则表达式 ============================== ©Copyright 蕃薯耀 2017年11 ...

  2. Java 常用正则表达式,Java正则表达式,Java身份证校验,最新手机号码校验正

    Java 常用正则表达式,Java正则表达式,Java身份证校验,最新手机号码校验正则表达式 ============================== ©Copyright 蕃薯耀 2017年10 ...

  3. Java 常用正则表达式与测试

    正则表达式常用于字符的验证, 常用的正则表达式: 正则表达式 意义 例 任意字符 与正则表达式一致 \ 单斜杠 \ \t 制表符 \n 换行 单个字符 [abc] 包括a.b或c三个字符中的一个 [^ ...

  4. java常用正则表达式整理

    常用的正则表达式主要有以下几种: 匹配中文字符的正则表达式:[\u4e00-\u9fa5]  获取日期正则表达式:\d{4}[年|\-|\.]\d{1,2}[月|\-|\.]\d{1,2}日?  匹配 ...

  5. java 常用正则表达式

    匹配中文字符的正则表达式: [\u4e00-\u9fa5] 评注:匹配中文还真是个头疼的事,有了这个表达式就好办了 匹配双字节字符(包括汉字在内):[^\x00-\xff] 评注:可以用来计算字符串的 ...

  6. Java 常用正则表达式整理

  7. java常见正则表达式用法

    java常见正则表达式用法 例1: 判断整个字符串是否只有大小写字母和数字 String str = "ABCaaa123GG";String reg = "^[A-Za ...

  8. Java常用API(三)Pattern 正则表达式

    1. 一个用于指定规则的类 正则Regex , 在java中正则形成了一个单独的包 java.util.regex , 代表正则的类 --- Pattern 正则表达式本质上适用于指定匹配或筛选规则的 ...

  9. 常用正则表达式合集与工具

    any-rule 维护了一个常用正则表达式合集,并且本身是一个支持 Web/VS Code/idea/Alfred Workflow 多平台的正则表达式工具. image 安装 VS Code 应用商 ...

最新文章

  1. 【Qt】Qt中调用python接口
  2. 【科普】大脑是如何编码复杂信息的?
  3. 使用纯 Win32 API 编程实现Winpcap 封包捕获的第一个例子
  4. pythonunicode和str_python的str,unicode对象的encode和decode方法
  5. ZOJ2930 The Worst Schedule(最小割)
  6. 百度最全的LINUX和Redhat学习教程下载帖大全
  7. java certification_Java Certification.Status方法代码示例
  8. TP-LINK WR841N V8刷OpenWRT
  9. 插件占坑,四大组件动态注册前奏(二) 系统Service的启动流程
  10. quick code ide设置分辨率
  11. 机器人开发--OS系统介绍
  12. 前端网页设计必逛的六个宝藏网站(非常值得收藏)
  13. android扫雷PPT,《扫雷游戏制作》PPT课件.ppt
  14. High-Sierra,MacOS10.13,增加IntelHD3000显存的方法
  15. 浅谈Android自定义View
  16. 实验室设备选择UPS电源方法
  17. [python]微信公众号文章爬取
  18. POE交换机和普通交换机哪里不同
  19. 利用百度AI开放平台 实现 图片中的文字识别
  20. WINVNC源码分析(四)——IO之rdr库

热门文章

  1. Android中的Fragment使用
  2. python测试用例图_pytest以函数形式的测试用例
  3. python open方法下file模块_python 文件操作
  4. gcc-linux6.3,[环境配置]Ubuntu16.04下编译安装gcc6.3.0
  5. 【教程】Linux 下软 RAID 实现方案!!
  6. oracle导出库压缩参数,oracle数据库的定时备份:导出 压缩 归类
  7. sqlalchemy mysql教程_python使用SQLAlchemy操作MySQL
  8. 阿里新晋 CNCF TOC 委员张磊:“云原生”为什么对云计算生态充满吸引力?
  9. 通过 IDE/Maven 部署 Serverless 应用实践
  10. php麻将机器人ai算法,高性能麻将AI算法