java 常用的正则表达式工具类

本贴最后更新于 2430 天前,其中的信息可能已经时移世异
package com.lyqc.utils; import org.apache.commons.lang.StringUtils; public class ValidUtils { private static final String mobile = "^(13|15|18|17|16)[0-9]{9}$"; private static final String codeAndMobile = "^\\+[0-9]{2}\\-(13|15|18|17|16)[0-9]{9}$"; /**整数*/ private static final String intege="^-?[1-9]\\d*$"; /** 正整数*/ private static final String intege1="^[1-9]\\d*$"; /** 负整数*/ private static final String intege2="^-[1-9]\\d*$"; /** 数字*/ private static final String num="^([+-]?)\\d*\\.?\\d+$"; /** 正数(正整数 + 0)*/ private static final String num1="^[1-9]\\d*|0$"; /** 负数(负整数 + 0)*/ private static final String num2="^-[1-9]\\d*|0$"; /** 浮点数*/ private static final String decmal="^([+-]?)\\d*\\.\\d+$"; /** 正浮点数*/ private static final String decmal1="^[1-9]\\d*.\\d*|0.\\d*[1-9]\\d*$"; /** 负浮点数*/ private static final String decmal2="^-([1-9]\\d*.\\d*|0.\\d*[1-9]\\d*)$"; /** 浮点数*/ private static final String decmal3="^-?([1-9]\\d*.\\d*|0.\\d*[1-9]\\d*|0?.0+|0)$"; /** 非负浮点数(正浮点数 + 0)*/ private static final String decmal4="^[1-9]\\d*.\\d*|0.\\d*[1-9]\\d*|0?.0+|0$"; /**非正浮点数(负浮点数 + 0) */ private static final String decmal5="^(-([1-9]\\d*.\\d*|0.\\d*[1-9]\\d*))|0?.0+|0$"; /** 邮件*/ private static final String email="^\\w+((-\\w+)|(\\.\\w+))*\\@[A-Za-z0-9]+((\\.|-)[A-Za-z0-9]+)*\\.[A-Za-z0-9]+$"; /** 颜色*/ private static final String color="^[a-fA-F0-9]{6}$"; /** url*/ private static final String url="^http[s]?=\\/\\/([\\w-]+\\.)+[\\w-]+([\\w-./?%&=]*)?$"; /** 仅中文*/ private static final String chinese="^[\\u4E00-\\u9FA5\\uF900-\\uFA2D]+$"; /** 仅ACSII字符*/ private static final String ascii="^[\\x00-\\xFF]+$"; /**邮编 */ private static final String zipcode="^\\d{6}$"; /** ip地址*/ private static final String 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)$"; /** 非空*/ private static final String notempty="^\\S+$"; /**图片 */ private static final String picture="(.*)\\.(jpg|bmp|gif|ico|pcx|jpeg|tif|png|raw|tga)$"; /** 压缩文件*/ private static final String rar="(.*)\\.(rar|zip|7zip|tgz)$"; /** 日期*/ private static final String date="^\\d{4}(\\-|\\/|\\.)\\d{1,2}\\1\\d{1,2}$"; /** QQ号码*/ private static final String qq="^[1-9]*[1-9][0-9]*$"; /** 电话号码的函数(包括验证国内区号;国际区号;分机号)*/ private static final String tel="^(([0\\+]\\d{2,3}-)?(0\\d{2,3})-)?(\\d{7,8})(-(\\d{1,}))?$"; /** 用来用户注册。匹配由数字、26个英文字母或者下划线组成的字符串*/ private static final String username="^\\w+$"; /** 字母*/ private static final String letter="^[A-Za-z]+$"; private static final String letterAndSpace="^[A-Za-z ]+$"; /** 大写字母*/ private static final String letter_u="^[A-Z]+$"; /** 小写字母*/ private static final String letter_l="^[a-z]+$"; /** 身份证*/ private static final String idcard="^[1-9]([0-9]{14}|[0-9]{17})$"; /**判断字符串是否为浮点数*/ private static final String isFloat="^[-]?\\d+(\\.\\d+)?$"; /**判断字符串是否为正浮点数*/ private static final String isUFloat="^\\d+(\\.\\d+)?$"; /**判断是否是整数*/ private static final String isInteger="^[-]?\\d+$"; /**判断是否是正整数*/ private static final String isUInteger="^\\d+$"; /**判断车辆Vin码*/ private static final String isCarVin="^[1234567890WERTYUPASDFGHJKLZXCVBNM]{13}[0-9]{4}$"; /** 手机号 */ public static boolean isMobile(String input){ return matches(mobile, input); } public static boolean isCodeAndMobile(String input){ return matches(codeAndMobile, input); } /** 整数 */ public static boolean isIntege(String input){ return matches(intege, input); } /** 正整数 */ public static boolean isintege1(String input){ return matches(intege1, input); } /** 负整数*/ public static boolean isIntege2(String input){ return matches(intege2, input); } /** 数字 */ public static boolean isNum(String input){ return matches(num, input); } /** 正数(正整数 + 0) */ public static boolean isNum1(String input){ return matches(num1, input); } /** 负数(负整数 + 0)*/ public static boolean isNum2(String input){ return matches(num2, input); } /** 浮点数*/ public static boolean isDecmal(String input){ return matches(decmal, input); } /** 正浮点数*/ public static boolean isDecmal1(String input){ return matches(decmal1, input); } /** 负浮点数*/ public static boolean isDecmal2(String input){ return matches(decmal2, input); } /**浮点数 */ public static boolean isDecmal3(String input){ return matches(decmal3, input); } /** 非负浮点数(正浮点数 + 0)*/ public static boolean isDecmal4(String input){ return matches(decmal4, input); } /** 非正浮点数(负浮点数 + 0)*/ public static boolean isDecmal5(String input){ return matches(decmal5, input); } /** 邮件*/ public static boolean isEmail(String input){ return matches(email, input); } /** 颜色*/ public static boolean isColor(String input){ return matches(color, input); } /** url*/ public static boolean isUrl(String input){ return matches(url, input); } /** 中文*/ public static boolean isChinese(String input){ return matches(chinese, input); } /** ascii码*/ public static boolean isAscii(String input){ return matches(ascii, input); } /** 邮编*/ public static boolean isZipcode(String input){ return matches(zipcode, input); } /** IP地址*/ public static boolean isIP4(String input){ return matches(ip4, input); } /** 非空*/ public static boolean isNotEmpty(String input){ return matches(notempty, input); } /** 图片*/ public static boolean isPicture(String input){ return matches(picture, input); } /** 压缩文件*/ public static boolean isRar(String input){ return matches(rar, input); } /** 日期*/ public static boolean isDate(String input){ return matches(date, input); } /** qq*/ public static boolean isQQ(String input){ return matches(qq, input); } /** 电话号码的函数(包括验证国内区号;国际区号;分机号)*/ public static boolean isTel(String input){ return matches(tel, input); } /** 用来用户注册。匹配由数字、26个英文字母或者下划线组成的字符串*/ public static boolean isUserName(String input){ return matches(username, input); } /**字母*/ public static boolean isLetter(String input){ return matches(letter, input); } public static boolean isLetterAndSpace(String input){ return matches(letterAndSpace, input); } /** 小写字母*/ public static boolean isLowLetter(String input){ return matches(letter_l, input); } /** 大写字母*/ public static boolean isUpperLetter(String input){ return matches(letter_u, input); } /** 身份证*/ public static boolean isIDCard(String input){ return matches(idcard, input); } public static boolean isFloat(String input){ return matches(isFloat, input); } public static boolean isUFloat(String input){ return matches(isUFloat, input); } public static boolean isInteger(String input){ return matches(isInteger, input); } public static boolean isUInteger(String input){ return matches(isUInteger, input); } public static boolean isCarVin(String carVin){ return matches(isCarVin, carVin); } public static boolean matches(String regex,String input){ if(StringUtils.isBlank(input)) return false; if(input.matches(regex))return true; return false; } public static void main(String[] args) { /*System.out.println(isInteger("1")); System.out.println(isInteger("0")); System.out.println(isInteger("-1")); System.out.println(isInteger("1.0")); System.out.println("--------------------"); System.out.println(isUInteger("-1")); System.out.println(isUInteger("0")); System.out.println(isUInteger("10")); System.out.println(isUInteger("1.3"));*/ System.out.println(isLetterAndSpace("tai wan")); } }
  • Java

    Java 是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由 Sun Microsystems 公司于 1995 年 5 月推出的。Java 技术具有卓越的通用性、高效性、平台移植性和安全性。

    3203 引用 • 8217 回帖 • 1 关注
  • 正则表达式

    正则表达式(Regular Expression)使用单个字符串来描述、匹配一系列遵循某个句法规则的字符串。

    31 引用 • 94 回帖 • 1 关注

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...

推荐标签 标签

  • GAE

    Google App Engine(GAE)是 Google 管理的数据中心中用于 WEB 应用程序的开发和托管的平台。2008 年 4 月 发布第一个测试版本。目前支持 Python、Java 和 Go 开发部署。全球已有数十万的开发者在其上开发了众多的应用。

    14 引用 • 42 回帖 • 826 关注
  • React

    React 是 Facebook 开源的一个用于构建 UI 的 JavaScript 库。

    192 引用 • 291 回帖 • 368 关注
  • 持续集成

    持续集成(Continuous Integration)是一种软件开发实践,即团队开发成员经常集成他们的工作,通过每个成员每天至少集成一次,也就意味着每天可能会发生多次集成。每次集成都通过自动化的构建(包括编译,发布,自动化测试)来验证,从而尽早地发现集成错误。

    15 引用 • 7 回帖 • 3 关注
  • Oracle

    Oracle(甲骨文)公司,全称甲骨文股份有限公司(甲骨文软件系统有限公司),是全球最大的企业级软件公司,总部位于美国加利福尼亚州的红木滩。1989 年正式进入中国市场。2013 年,甲骨文已超越 IBM,成为继 Microsoft 后全球第二大软件公司。

    107 引用 • 127 回帖 • 339 关注
  • 七牛云

    七牛云是国内领先的企业级公有云服务商,致力于打造以数据为核心的场景化 PaaS 服务。围绕富媒体场景,七牛先后推出了对象存储,融合 CDN 加速,数据通用处理,内容反垃圾服务,以及直播云服务等。

    29 引用 • 230 回帖 • 126 关注
  • CodeMirror
    2 引用 • 17 回帖 • 174 关注
  • Scala

    Scala 是一门多范式的编程语言,集成面向对象编程和函数式编程的各种特性。

    13 引用 • 11 回帖 • 160 关注
  • frp

    frp 是一个可用于内网穿透的高性能的反向代理应用,支持 TCP、UDP、 HTTP 和 HTTPS 协议。

    17 引用 • 7 回帖 • 2 关注
  • MyBatis

    MyBatis 本是 Apache 软件基金会 的一个开源项目 iBatis,2010 年这个项目由 Apache 软件基金会迁移到了 google code,并且改名为 MyBatis ,2013 年 11 月再次迁移到了 GitHub。

    173 引用 • 414 回帖 • 358 关注
  • Dubbo

    Dubbo 是一个分布式服务框架,致力于提供高性能和透明化的 RPC 远程服务调用方案,是 [阿里巴巴] SOA 服务化治理方案的核心框架,每天为 2,000+ 个服务提供 3,000,000,000+ 次访问量支持,并被广泛应用于阿里巴巴集团的各成员站点。

    60 引用 • 82 回帖 • 618 关注
  • 链书

    链书(Chainbook)是 B3log 开源社区提供的区块链纸质书交易平台,通过 B3T 实现共享激励与价值链。可将你的闲置书籍上架到链书,我们共同构建这个全新的交易平台,让闲置书籍继续发挥它的价值。

    链书社

    链书目前已经下线,也许以后还有计划重制上线。

    14 引用 • 257 回帖 • 1 关注
  • Sillot

    Insights(注意当前设置 master 为默认分支)

    汐洛彖夲肜矩阵(Sillot T☳Converbenk Matrix),致力于服务智慧新彖乄,具有彖乄驱动、极致优雅、开发者友好的特点。其中汐洛绞架(Sillot-Gibbet)基于自思源笔记(siyuan-note),前身是思源笔记汐洛版(更早是思源笔记汐洛分支),是智慧新录乄终端(多端融合,移动端优先)。

    主仓库地址:Hi-Windom/Sillot

    文档地址:sillot.db.sc.cn

    注意事项:

    1. ⚠️ 汐洛仍在早期开发阶段,尚不稳定
    2. ⚠️ 汐洛并非面向普通用户设计,使用前请了解风险
    3. ⚠️ 汐洛绞架基于思源笔记,开发者尽最大努力与思源笔记保持兼容,但无法实现 100% 兼容
    29 引用 • 25 回帖 • 143 关注
  • 快应用

    快应用 是基于手机硬件平台的新型应用形态;标准是由主流手机厂商组成的快应用联盟联合制定;快应用标准的诞生将在研发接口、能力接入、开发者服务等层面建设标准平台;以平台化的生态模式对个人开发者和企业开发者全品类开放。

    15 引用 • 127 回帖 • 1 关注
  • Netty

    Netty 是一个基于 NIO 的客户端-服务器编程框架,使用 Netty 可以让你快速、简单地开发出一个可维护、高性能的网络应用,例如实现了某种协议的客户、服务端应用。

    49 引用 • 33 回帖 • 47 关注
  • 工具

    子曰:“工欲善其事,必先利其器。”

    301 引用 • 768 回帖
  • Excel
    31 引用 • 28 回帖
  • GitBook

    GitBook 使您的团队可以轻松编写和维护高质量的文档。 分享知识,提高团队的工作效率,让用户满意。

    3 引用 • 8 回帖
  • ngrok

    ngrok 是一个反向代理,通过在公共的端点和本地运行的 Web 服务器之间建立一个安全的通道。

    7 引用 • 63 回帖 • 658 关注
  • Flutter

    Flutter 是谷歌的移动 UI 框架,可以快速在 iOS 和 Android 上构建高质量的原生用户界面。 Flutter 可以与现有的代码一起工作,它正在被越来越多的开发者和组织使用,并且 Flutter 是完全免费、开源的。

    39 引用 • 92 回帖 • 13 关注
  • VirtualBox

    VirtualBox 是一款开源虚拟机软件,最早由德国 Innotek 公司开发,由 Sun Microsystems 公司出品的软件,使用 Qt 编写,在 Sun 被 Oracle 收购后正式更名成 Oracle VM VirtualBox。

    10 引用 • 2 回帖 • 17 关注
  • Jenkins

    Jenkins 是一套开源的持续集成工具。它提供了非常丰富的插件,让构建、部署、自动化集成项目变得简单易用。

    54 引用 • 37 回帖 • 2 关注
  • Typecho

    Typecho 是一款博客程序,它在 GPLv2 许可证下发行,基于 PHP 构建,可以运行在各种平台上,支持多种数据库(MySQL、PostgreSQL、SQLite)。

    12 引用 • 67 回帖 • 445 关注
  • OpenStack

    OpenStack 是一个云操作系统,通过数据中心可控制大型的计算、存储、网络等资源池。所有的管理通过前端界面管理员就可以完成,同样也可以通过 Web 接口让最终用户部署资源。

    10 引用 • 4 关注
  • 新人

    让我们欢迎这对新人。哦,不好意思说错了,让我们欢迎这位新人!
    新手上路,请谨慎驾驶!

    52 引用 • 228 回帖
  • OkHttp

    OkHttp 是一款 HTTP & HTTP/2 客户端库,专为 Android 和 Java 应用打造。

    16 引用 • 6 回帖 • 91 关注
  • GitHub

    GitHub 于 2008 年上线,目前,除了 Git 代码仓库托管及基本的 Web 管理界面以外,还提供了订阅、讨论组、文本渲染、在线文件编辑器、协作图谱(报表)、代码片段分享(Gist)等功能。正因为这些功能所提供的便利,又经过长期的积累,GitHub 的用户活跃度很高,在开源世界里享有深远的声望,并形成了社交化编程文化(Social Coding)。

    210 引用 • 2040 回帖
  • Solo

    Solo 是一款小而美的开源博客系统,专为程序员设计。Solo 有着非常活跃的社区,可将文章作为帖子推送到社区,来自社区的回帖将作为博客评论进行联动(具体细节请浏览 B3log 构思 - 分布式社区网络)。

    这是一种全新的网络社区体验,让热爱记录和分享的你不再感到孤单!

    1445 引用 • 10083 回帖 • 506 关注