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"));
}
}
近期热议
推荐标签 标签
-
PostgreSQL
22 引用 • 22 回帖
PostgreSQL 是一款功能强大的企业级数据库系统,在 BSD 开源许可证下发布。
-
BookxNote
1 引用 • 1 回帖 • 6 关注
BookxNote 是一款全新的电子书学习工具,助力您的学习与思考,让您的大脑更高效的记忆。
笔记整理交给我,一心只读圣贤书。
-
开源中国
7 引用 • 86 回帖 • 1 关注
开源中国是目前中国最大的开源技术社区。传播开源的理念,推广开源项目,为 IT 开发者提供了一个发现、使用、并交流开源技术的平台。目前开源中国社区已收录超过两万款开源软件。
-
Google
49 引用 • 192 回帖
Google(Google Inc.,NASDAQ:GOOG)是一家美国上市公司(公有股份公司),于 1998 年 9 月 7 日以私有股份公司的形式创立,设计并管理一个互联网搜索引擎。Google 公司的总部称作“Googleplex”,它位于加利福尼亚山景城。Google 目前被公认为是全球规模最大的搜索引擎,它提供了简单易用的免费服务。不作恶(Don't be evil)是谷歌公司的一项非正式的公司口号。
-
OpenResty
17 引用 • 53 关注
OpenResty 是一个基于 NGINX 与 Lua 的高性能 Web 平台,其内部集成了大量精良的 Lua 库、第三方模块以及大多数的依赖项。用于方便地搭建能够处理超高并发、扩展性极高的动态 Web 应用、Web 服务和动态网关。
- Angular
-
CAP
12 引用 • 5 回帖 • 630 关注
CAP 指的是在一个分布式系统中, Consistency(一致性)、 Availability(可用性)、Partition tolerance(分区容错性),三者不可兼得。
-
新人
52 引用 • 228 回帖
让我们欢迎这对新人。哦,不好意思说错了,让我们欢迎这位新人!
新手上路,请谨慎驾驶! -
黑曜石
24 引用 • 246 回帖
黑曜石是一款强大的知识库工具,支持本地 Markdown 文件编辑,支持双向链接和关系图。
A second brain, for you, forever.
-
国际化
8 引用 • 26 回帖
i18n(其来源是英文单词 internationalization 的首末字符 i 和 n,18 为中间的字符数)是“国际化”的简称。对程序来说,国际化是指在不修改代码的情况下,能根据不同语言及地区显示相应的界面。
-
Maven
188 引用 • 319 回帖 • 238 关注
Maven 是基于项目对象模型(POM)、通过一小段描述信息来管理项目的构建、报告和文档的软件项目管理工具。
-
iOS
89 引用 • 150 回帖
iOS 是由苹果公司开发的移动操作系统,最早于 2007 年 1 月 9 日的 Macworld 大会上公布这个系统,最初是设计给 iPhone 使用的,后来陆续套用到 iPod touch、iPad 以及 Apple TV 等产品上。iOS 与苹果的 Mac OS X 操作系统一样,属于类 Unix 的商业操作系统。
-
Mobi.css
1 引用 • 6 回帖 • 765 关注
Mobi.css is a lightweight, flexible CSS framework that focus on mobile.
-
FreeMarker
23 引用 • 20 回帖 • 468 关注
FreeMarker 是一款好用且功能强大的 Java 模版引擎。
-
TGIF
291 引用 • 4495 回帖 • 663 关注
Thank God It's Friday! 感谢老天,总算到星期五啦!
-
叶归
12 引用 • 56 回帖 • 22 关注
-
书籍
82 引用 • 412 回帖
宋真宗赵恒曾经说过:“书中自有黄金屋,书中自有颜如玉。”
-
OneDrive
2 引用 • 6 关注
-
Wide
30 引用 • 218 回帖 • 641 关注
Wide 是一款基于 Web 的 Go 语言 IDE。通过浏览器就可以进行 Go 开发,并有代码自动完成、查看表达式、编译反馈、Lint、实时结果输出等功能。
欢迎访问我们运维的实例: https://wide.b3log.org
-
Oracle
107 引用 • 127 回帖 • 344 关注
Oracle(甲骨文)公司,全称甲骨文股份有限公司(甲骨文软件系统有限公司),是全球最大的企业级软件公司,总部位于美国加利福尼亚州的红木滩。1989 年正式进入中国市场。2013 年,甲骨文已超越 IBM,成为继 Microsoft 后全球第二大软件公司。
-
Netty
49 引用 • 33 回帖 • 42 关注
Netty 是一个基于 NIO 的客户端-服务器编程框架,使用 Netty 可以让你快速、简单地开发出一个可维护、高性能的网络应用,例如实现了某种协议的客户、服务端应用。
-
Typecho
12 引用 • 67 回帖 • 445 关注
Typecho 是一款博客程序,它在 GPLv2 许可证下发行,基于 PHP 构建,可以运行在各种平台上,支持多种数据库(MySQL、PostgreSQL、SQLite)。
-
PWL
1 引用 • 487 回帖 • 5 关注
组织简介
用爱发电 (Programming With Love) 是一个以开源精神为核心的民间开源爱好者技术组织,“用爱发电”象征开源与贡献精神,加入组织,代表你将遵守组织的“个人开源爱好者”的各项条款。申请加入:用爱发电组织邀请帖。
用爱发电组织官网:https://programmingwithlove.stackoverflow.wiki/用爱发电组织的核心驱动力:
- 遵守开源守则,体现开源&贡献精神:以分享为目的,拒绝非法牟利。
- 自我保护:使用适当的 License 保护自己的原创作品。
- 尊重他人:不以各种理由、各种漏洞进行未经允许的抄袭、散播、洩露;以礼相待,尊重所有对社区做出贡献的开发者;通过他人的分享习得知识,要留下足迹,表示感谢。
- 热爱编程、热爱学习:加入组织,热爱编程是首当其要的。我们欢迎热爱讨论、分享、提问的朋友,也同样欢迎默默成就的朋友。
- 倾听:正确并恳切对待、处理问题与建议,及时修复开源项目的 Bug ,及时与反馈者沟通。不抬杠、不无视、不辱骂。
- 平视:不诋毁、轻视、嘲讽其他开发者,主动提出建议、施以帮助,以和谐为本。只要他人肯努力,你也可能会被昔日小看的人所超越,所以请保持谦虚。
- 乐观且活跃:你的努力决定了你的高度。不要放弃,多年后回头俯瞰,才会发现自己已经成就往日所仰望的水平。积极地将项目开源,帮助他人学习、改进,自己也会获得相应的提升、成就与成就感。
-
服务器
125 引用 • 585 回帖 • 1 关注
服务器,也称伺服器,是提供计算服务的设备。由于服务器需要响应服务请求,并进行处理,因此一般来说服务器应具备承担服务并且保障服务的能力。
-
FFmpeg
23 引用 • 32 回帖 • 7 关注
FFmpeg 是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。
-
Redis
284 引用 • 248 回帖
Redis 是一个开源的使用 ANSI C 语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value 数据库,并提供多种语言的 API。从 2010 年 3 月 15 日起,Redis 的开发工作由 VMware 主持。从 2013 年 5 月开始,Redis 的开发由 Pivotal 赞助。
-
GitBook
3 引用 • 8 回帖
GitBook 使您的团队可以轻松编写和维护高质量的文档。 分享知识,提高团队的工作效率,让用户满意。
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于