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

本贴最后更新于 2405 天前,其中的信息可能已经时移世异
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 技术具有卓越的通用性、高效性、平台移植性和安全性。

    3201 引用 • 8217 回帖
  • 正则表达式

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

    31 引用 • 94 回帖

相关帖子

欢迎来到这里!

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

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

推荐标签 标签

  • PostgreSQL

    PostgreSQL 是一款功能强大的企业级数据库系统,在 BSD 开源许可证下发布。

    22 引用 • 22 回帖
  • BookxNote

    BookxNote 是一款全新的电子书学习工具,助力您的学习与思考,让您的大脑更高效的记忆。

    笔记整理交给我,一心只读圣贤书。

    1 引用 • 1 回帖 • 6 关注
  • 开源中国

    开源中国是目前中国最大的开源技术社区。传播开源的理念,推广开源项目,为 IT 开发者提供了一个发现、使用、并交流开源技术的平台。目前开源中国社区已收录超过两万款开源软件。

    7 引用 • 86 回帖 • 1 关注
  • Google

    Google(Google Inc.,NASDAQ:GOOG)是一家美国上市公司(公有股份公司),于 1998 年 9 月 7 日以私有股份公司的形式创立,设计并管理一个互联网搜索引擎。Google 公司的总部称作“Googleplex”,它位于加利福尼亚山景城。Google 目前被公认为是全球规模最大的搜索引擎,它提供了简单易用的免费服务。不作恶(Don't be evil)是谷歌公司的一项非正式的公司口号。

    49 引用 • 192 回帖
  • OpenResty

    OpenResty 是一个基于 NGINX 与 Lua 的高性能 Web 平台,其内部集成了大量精良的 Lua 库、第三方模块以及大多数的依赖项。用于方便地搭建能够处理超高并发、扩展性极高的动态 Web 应用、Web 服务和动态网关。

    17 引用 • 53 关注
  • Angular

    AngularAngularJS 的新版本。

    26 引用 • 66 回帖 • 559 关注
  • CAP

    CAP 指的是在一个分布式系统中, Consistency(一致性)、 Availability(可用性)、Partition tolerance(分区容错性),三者不可兼得。

    12 引用 • 5 回帖 • 630 关注
  • 新人

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

    52 引用 • 228 回帖
  • 黑曜石

    黑曜石是一款强大的知识库工具,支持本地 Markdown 文件编辑,支持双向链接和关系图。

    A second brain, for you, forever.

    24 引用 • 246 回帖
  • 国际化

    i18n(其来源是英文单词 internationalization 的首末字符 i 和 n,18 为中间的字符数)是“国际化”的简称。对程序来说,国际化是指在不修改代码的情况下,能根据不同语言及地区显示相应的界面。

    8 引用 • 26 回帖
  • Maven

    Maven 是基于项目对象模型(POM)、通过一小段描述信息来管理项目的构建、报告和文档的软件项目管理工具。

    188 引用 • 319 回帖 • 238 关注
  • iOS

    iOS 是由苹果公司开发的移动操作系统,最早于 2007 年 1 月 9 日的 Macworld 大会上公布这个系统,最初是设计给 iPhone 使用的,后来陆续套用到 iPod touch、iPad 以及 Apple TV 等产品上。iOS 与苹果的 Mac OS X 操作系统一样,属于类 Unix 的商业操作系统。

    89 引用 • 150 回帖
  • Mobi.css

    Mobi.css is a lightweight, flexible CSS framework that focus on mobile.

    1 引用 • 6 回帖 • 765 关注
  • FreeMarker

    FreeMarker 是一款好用且功能强大的 Java 模版引擎。

    23 引用 • 20 回帖 • 468 关注
  • TGIF

    Thank God It's Friday! 感谢老天,总算到星期五啦!

    291 引用 • 4495 回帖 • 663 关注
  • 叶归
    12 引用 • 56 回帖 • 22 关注
  • 书籍

    宋真宗赵恒曾经说过:“书中自有黄金屋,书中自有颜如玉。”

    82 引用 • 412 回帖
  • OneDrive
    2 引用 • 6 关注
  • Wide

    Wide 是一款基于 Web 的 Go 语言 IDE。通过浏览器就可以进行 Go 开发,并有代码自动完成、查看表达式、编译反馈、Lint、实时结果输出等功能。

    欢迎访问我们运维的实例: https://wide.b3log.org

    30 引用 • 218 回帖 • 641 关注
  • Oracle

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

    107 引用 • 127 回帖 • 344 关注
  • Netty

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

    49 引用 • 33 回帖 • 42 关注
  • Typecho

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

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

    组织简介

    用爱发电 (Programming With Love) 是一个以开源精神为核心的民间开源爱好者技术组织,“用爱发电”象征开源与贡献精神,加入组织,代表你将遵守组织的“个人开源爱好者”的各项条款。申请加入:用爱发电组织邀请帖
    用爱发电组织官网:https://programmingwithlove.stackoverflow.wiki/

    用爱发电组织的核心驱动力:

    • 遵守开源守则,体现开源&贡献精神:以分享为目的,拒绝非法牟利。
    • 自我保护:使用适当的 License 保护自己的原创作品。
    • 尊重他人:不以各种理由、各种漏洞进行未经允许的抄袭、散播、洩露;以礼相待,尊重所有对社区做出贡献的开发者;通过他人的分享习得知识,要留下足迹,表示感谢。
    • 热爱编程、热爱学习:加入组织,热爱编程是首当其要的。我们欢迎热爱讨论、分享、提问的朋友,也同样欢迎默默成就的朋友。
    • 倾听:正确并恳切对待、处理问题与建议,及时修复开源项目的 Bug ,及时与反馈者沟通。不抬杠、不无视、不辱骂。
    • 平视:不诋毁、轻视、嘲讽其他开发者,主动提出建议、施以帮助,以和谐为本。只要他人肯努力,你也可能会被昔日小看的人所超越,所以请保持谦虚。
    • 乐观且活跃:你的努力决定了你的高度。不要放弃,多年后回头俯瞰,才会发现自己已经成就往日所仰望的水平。积极地将项目开源,帮助他人学习、改进,自己也会获得相应的提升、成就与成就感。
    1 引用 • 487 回帖 • 5 关注
  • 服务器

    服务器,也称伺服器,是提供计算服务的设备。由于服务器需要响应服务请求,并进行处理,因此一般来说服务器应具备承担服务并且保障服务的能力。

    125 引用 • 585 回帖 • 1 关注
  • FFmpeg

    FFmpeg 是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。

    23 引用 • 32 回帖 • 7 关注
  • Redis

    Redis 是一个开源的使用 ANSI C 语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value 数据库,并提供多种语言的 API。从 2010 年 3 月 15 日起,Redis 的开发工作由 VMware 主持。从 2013 年 5 月开始,Redis 的开发由 Pivotal 赞助。

    284 引用 • 248 回帖
  • GitBook

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

    3 引用 • 8 回帖