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

本贴最后更新于 2371 天前,其中的信息可能已经时移世异
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 引用 • 8216 回帖 • 5 关注
  • 正则表达式

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

    31 引用 • 94 回帖 • 1 关注

相关帖子

欢迎来到这里!

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

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

推荐标签 标签

  • Ant-Design

    Ant Design 是服务于企业级产品的设计体系,基于确定和自然的设计价值观上的模块化解决方案,让设计者和开发者专注于更好的用户体验。

    17 引用 • 23 回帖
  • OpenShift

    红帽提供的 PaaS 云,支持多种编程语言,为开发人员提供了更为灵活的框架、存储选择。

    14 引用 • 20 回帖 • 662 关注
  • 创业

    你比 99% 的人都优秀么?

    82 引用 • 1395 回帖 • 1 关注
  • Sphinx

    Sphinx 是一个基于 SQL 的全文检索引擎,可以结合 MySQL、PostgreSQL 做全文搜索,它可以提供比数据库本身更专业的搜索功能,使得应用程序更容易实现专业化的全文检索。

    1 引用 • 221 关注
  • CAP

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

    12 引用 • 5 回帖 • 636 关注
  • WebComponents

    Web Components 是 W3C 定义的标准,它给了前端开发者扩展浏览器标签的能力,可以方便地定制可复用组件,更好的进行模块化开发,解放了前端开发者的生产力。

    1 引用 • 8 关注
  • OneDrive
    2 引用 • 3 关注
  • 智能合约

    智能合约(Smart contract)是一种旨在以信息化方式传播、验证或执行合同的计算机协议。智能合约允许在没有第三方的情况下进行可信交易,这些交易可追踪且不可逆转。智能合约概念于 1994 年由 Nick Szabo 首次提出。

    1 引用 • 11 回帖 • 1 关注
  • 阿里巴巴

    阿里巴巴网络技术有限公司(简称:阿里巴巴集团)是以曾担任英语教师的马云为首的 18 人,于 1999 年在中国杭州创立,他们相信互联网能够创造公平的竞争环境,让小企业通过创新与科技扩展业务,并在参与国内或全球市场竞争时处于更有利的位置。

    43 引用 • 221 回帖 • 58 关注
  • 音乐

    你听到信仰的声音了么?

    62 引用 • 512 回帖 • 1 关注
  • 大疆创新

    深圳市大疆创新科技有限公司(DJI-Innovations,简称 DJI),成立于 2006 年,是全球领先的无人飞行器控制系统及无人机解决方案的研发和生产商,客户遍布全球 100 多个国家。通过持续的创新,大疆致力于为无人机工业、行业用户以及专业航拍应用提供性能最强、体验最佳的革命性智能飞控产品和解决方案。

    2 引用 • 14 回帖
  • IDEA

    IDEA 全称 IntelliJ IDEA,是一款 Java 语言开发的集成环境,在业界被公认为最好的 Java 开发工具之一。IDEA 是 JetBrains 公司的产品,这家公司总部位于捷克共和国的首都布拉格,开发人员以严谨著称的东欧程序员为主。

    181 引用 • 400 回帖
  • Log4j

    Log4j 是 Apache 开源的一款使用广泛的 Java 日志组件。

    20 引用 • 18 回帖 • 34 关注
  • SEO

    发布对别人有帮助的原创内容是最好的 SEO 方式。

    35 引用 • 200 回帖 • 33 关注
  • Gzip

    gzip (GNU zip)是 GNU 自由软件的文件压缩程序。我们在 Linux 中经常会用到后缀为 .gz 的文件,它们就是 Gzip 格式的。现今已经成为互联网上使用非常普遍的一种数据压缩格式,或者说一种文件格式。

    9 引用 • 12 回帖 • 172 关注
  • Scala

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

    13 引用 • 11 回帖 • 157 关注
  • 安装

    你若安好,便是晴天。

    132 引用 • 1184 回帖
  • 旅游

    希望你我能在旅途中找到人生的下一站。

    98 引用 • 903 回帖
  • Facebook

    Facebook 是一个联系朋友的社交工具。大家可以通过它和朋友、同事、同学以及周围的人保持互动交流,分享无限上传的图片,发布链接和视频,更可以增进对朋友的了解。

    4 引用 • 15 回帖 • 449 关注
  • 生活

    生活是指人类生存过程中的各项活动的总和,范畴较广,一般指为幸福的意义而存在。生活实际上是对人生的一种诠释。生活包括人类在社会中与自己息息相关的日常活动和心理影射。

    229 引用 • 1432 回帖 • 1 关注
  • Sandbox

    如果帖子标签含有 Sandbox ,则该帖子会被视为“测试帖”,主要用于测试社区功能,排查 bug 等,该标签下内容不定期进行清理。

    434 引用 • 1238 回帖 • 593 关注
  • AWS
    11 引用 • 28 回帖 • 4 关注
  • Ubuntu

    Ubuntu(友帮拓、优般图、乌班图)是一个以桌面应用为主的 Linux 操作系统,其名称来自非洲南部祖鲁语或豪萨语的“ubuntu”一词,意思是“人性”、“我的存在是因为大家的存在”,是非洲传统的一种价值观,类似华人社会的“仁爱”思想。Ubuntu 的目标在于为一般用户提供一个最新的、同时又相当稳定的主要由自由软件构建而成的操作系统。

    127 引用 • 169 回帖 • 1 关注
  • PWL

    组织简介

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

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

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

    SendCloud 由搜狐武汉研发中心孵化的项目,是致力于为开发者提供高质量的触发邮件服务的云端邮件发送平台,为开发者提供便利的 API 接口来调用服务,让邮件准确迅速到达用户收件箱并获得强大的追踪数据。

    2 引用 • 8 回帖 • 502 关注
  • CodeMirror
    2 引用 • 17 回帖 • 164 关注
  • Hadoop

    Hadoop 是由 Apache 基金会所开发的一个分布式系统基础架构。用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力进行高速运算和存储。

    91 引用 • 122 回帖 • 621 关注