Java专题技术:Java-最完整正则表达式验证

新闻 后端
本文整理了一份最完整的Java正则表达式验证,附源码,能帮助程序员们提高开发效率。

java专题技术:Java-最完整正则表达式验证

源码如下:

 

  1. package com.lyqc.utils; 
  2.  
  3. import org.apache.commons.lang.StringUtils; 
  4.  
  5. public class ValidUtils { 
  6.  
  7. /**手机号*/ 
  8.  
  9. private static final String mobile = "^(13|15|18|17|16)[0-9]{9}$"
  10.  
  11. private static final String codeAndMobile = "^\+[0-9]{2}\-(13|15|18|17|16)[0-9]{9}$"
  12.  
  13. /**整数*/ 
  14.  
  15. private static final String intege="^-?[1-9]\d*$"
  16.  
  17. /** 正整数*/ 
  18.  
  19. private static final String intege1="^[1-9]\d*$"
  20.  
  21. /** 负整数*/ 
  22.  
  23. private static final String intege2="^-[1-9]\d*$"
  24.  
  25. /** 数字*/ 
  26.  
  27. private static final String num="^([+-]?)\d*\.?\d+$"
  28.  
  29. /** 正数(正整数 + 0)*/ 
  30.  
  31. private static final String num1="^[1-9]\d*|0$"
  32.  
  33. /** 负数(负整数 + 0)*/ 
  34.  
  35. private static final String num2="^-[1-9]\d*|0$"
  36.  
  37. /** 浮点数*/ 
  38.  
  39. private static final String decmal="^([+-]?)\d*\.\d+$"
  40.  
  41. /** 正浮点数*/ 
  42.  
  43. private static final String decmal1="^[1-9]\d*.\d*|0.\d*[1-9]\d*$"
  44.  
  45. /** 负浮点数*/ 
  46.  
  47. private static final String decmal2="^-([1-9]\d*.\d*|0.\d*[1-9]\d*)$"
  48.  
  49. /** 浮点数*/ 
  50.  
  51. private static final String decmal3="^-?([1-9]\d*.\d*|0.\d*[1-9]\d*|0?.0+|0)$"
  52.  
  53. /** 非负浮点数(正浮点数 + 0)*/ 
  54.  
  55. private static final String decmal4="^[1-9]\d*.\d*|0.\d*[1-9]\d*|0?.0+|0$"
  56.  
  57. /**非正浮点数(负浮点数 + 0) */ 
  58.  
  59. private static final String decmal5="^(-([1-9]\d*.\d*|0.\d*[1-9]\d*))|0?.0+|0$"
  60.  
  61. /** 邮件*/ 
  62.  
  63. private static final String email="^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$"
  64.  
  65. /** 颜色*/ 
  66.  
  67. private static final String color="^[a-fA-F0-9]{6}$"
  68.  
  69. /** url*/ 
  70.  
  71. private static final String url="^http[s]?=\/\/([\w-]+\.)+[\w-]+([\w-./?%&=]*)?$"
  72.  
  73. /** 仅中文*/ 
  74.  
  75. private static final String chinese="^[\一-\龥\豈-\鶴]+$"
  76.  
  77. /** 仅ACSII字符*/ 
  78.  
  79. private static final String ascii="^[\-\ÿ]+$"
  80.  
  81. /**邮编 */ 
  82.  
  83. private static final String zipcode="^\d{6}$"
  84.  
  85. /** ip地址*/ 
  86.  
  87. 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)$"
  88.  
  89. /** 非空*/ 
  90.  
  91. private static final String notempty="^\S+$"
  92.  
  93. /**图片 */ 
  94.  
  95. private static final String picture="(.*)\.(jpg|bmp|gif|ico|pcx|jpeg|tif|png|raw|tga)$"
  96.  
  97. /** 压缩文件*/ 
  98.  
  99. private static final String rar="(.*)\.(rar|zip|7zip|tgz)$"
  100.  
  101. /** 日期*/ 
  102.  
  103. private static final String date="^\d{4}(\-|\/|\.)\d{1,2}\1\d{1,2}$"
  104.  
  105. /** QQ号码*/ 
  106.  
  107. private static final String qq="^[1-9]*[1-9][0-9]*$"
  108.  
  109. /** 电话号码的函数(包括验证国内区号;国际区号;分机号)*/ 
  110.  
  111. private static final String tel="^(([0\+]\d{2,3}-)?(0\d{2,3})-)?(\d{7,8})(-(\d{1,}))?$"
  112.  
  113. /** 用来用户注册。匹配由数字、26个英文字母或者下划线组成的字符串*/ 
  114.  
  115. private static final String username="^\w+$"
  116.  
  117. /** 字母*/ 
  118.  
  119. private static final String letter="^[A-Za-z]+$"
  120.  
  121. private static final String letterAndSpace="^[A-Za-z ]+$"
  122.  
  123. /** 大写字母*/ 
  124.  
  125. private static final String letter_u="^[A-Z]+$"
  126.  
  127. /** 小写字母*/ 
  128.  
  129. private static final String letter_l="^[a-z]+$"
  130.  
  131. /** 身份证*/ 
  132.  
  133. private static final String idcard="^[1-9]([0-9]{14}|[0-9]{17})$"
  134.  
  135. /**判断字符串是否为浮点数*/ 
  136.  
  137. private static final String isFloat="^[-]?\d+(\.\d+)?$"
  138.  
  139. /**判断字符串是否为正浮点数*/ 
  140.  
  141. private static final String isUFloat="^\d+(\.\d+)?$"
  142.  
  143. /**判断是否是整数*/ 
  144.  
  145. private static final String isInteger="^[-]?\d+$"
  146.  
  147. /**判断是否是正整数*/ 
  148.  
  149. private static final String isUInteger="^\d+$"
  150.  
  151. /**判断车辆Vin码*/ 
  152.  
  153. private static final String isCarVin="^[1234567890WERTYUPASDFGHJKLZXCVBNM]{13}[0-9]{4}$"
  154.  
  155. /** 手机号 */ 
  156.  
  157. public static boolean isMobile(String input){ 
  158.  
  159. return matches(mobile, input); 
  160.  
  161.  
  162. public static boolean isCodeAndMobile(String input){ 
  163.  
  164. return matches(codeAndMobile, input); 
  165.  
  166.  
  167. /** 整数 */ 
  168.  
  169. public static boolean isIntege(String input){ 
  170.  
  171. return matches(intege, input); 
  172.  
  173.  
  174. /** 正整数 */ 
  175.  
  176. public static boolean isintege1(String input){ 
  177.  
  178. return matches(intege1, input); 
  179.  
  180.  
  181. /** 负整数*/ 
  182.  
  183. public static boolean isIntege2(String input){ 
  184.  
  185. return matches(intege2, input); 
  186.  
  187.  
  188. /** 数字 */ 
  189.  
  190. public static boolean isNum(String input){ 
  191.  
  192. return matches(num, input); 
  193.  
  194.  
  195. /** 正数(正整数 + 0) */ 
  196.  
  197. public static boolean isNum1(String input){ 
  198.  
  199. return matches(num1, input); 
  200.  
  201.  
  202. /** 负数(负整数 + 0)*/ 
  203.  
  204. public static boolean isNum2(String input){ 
  205.  
  206. return matches(num2, input); 
  207.  
  208.  
  209. /** 浮点数*/ 
  210.  
  211. public static boolean isDecmal(String input){ 
  212.  
  213. return matches(decmal, input); 
  214.  
  215.  
  216. /** 正浮点数*/ 
  217.  
  218. public static boolean isDecmal1(String input){ 
  219.  
  220. return matches(decmal1, input); 
  221.  
  222.  
  223. /** 负浮点数*/ 
  224.  
  225. public static boolean isDecmal2(String input){ 
  226.  
  227. return matches(decmal2, input); 
  228.  
  229.  
  230. /**浮点数 */ 
  231.  
  232. public static boolean isDecmal3(String input){ 
  233.  
  234. return matches(decmal3, input); 
  235.  
  236.  
  237. /** 非负浮点数(正浮点数 + 0)*/ 
  238.  
  239. public static boolean isDecmal4(String input){ 
  240.  
  241. return matches(decmal4, input); 
  242.  
  243.  
  244. /** 非正浮点数(负浮点数 + 0)*/ 
  245.  
  246. public static boolean isDecmal5(String input){ 
  247.  
  248. return matches(decmal5, input); 
  249.  
  250.  
  251. /** 邮件*/ 
  252.  
  253. public static boolean isEmail(String input){ 
  254.  
  255. return matches(email, input); 
  256.  
  257.  
  258. /** 颜色*/ 
  259.  
  260. public static boolean isColor(String input){ 
  261.  
  262. return matches(color, input); 
  263.  
  264.  
  265. /** url*/ 
  266.  
  267. public static boolean isUrl(String input){ 
  268.  
  269. return matches(url, input); 
  270.  
  271.  
  272. /** 中文*/ 
  273.  
  274. public static boolean isChinese(String input){ 
  275.  
  276. return matches(chinese, input); 
  277.  
  278.  
  279. /** ascii码*/ 
  280.  
  281. public static boolean isAscii(String input){ 
  282.  
  283. return matches(ascii, input); 
  284.  
  285.  
  286. /** 邮编*/ 
  287.  
  288. public static boolean isZipcode(String input){ 
  289.  
  290. return matches(zipcode, input); 
  291.  
  292.  
  293. /** IP地址*/ 
  294.  
  295. public static boolean isIP4(String input){ 
  296.  
  297. return matches(ip4, input); 
  298.  
  299.  
  300. /** 非空*/ 
  301.  
  302. public static boolean isNotEmpty(String input){ 
  303.  
  304. return matches(notempty, input); 
  305.  
  306.  
  307. /** 图片*/ 
  308.  
  309. public static boolean isPicture(String input){ 
  310.  
  311. return matches(picture, input); 
  312.  
  313.  
  314. /** 压缩文件*/ 
  315.  
  316. public static boolean isRar(String input){ 
  317.  
  318. return matches(rar, input); 
  319.  
  320.  
  321. /** 日期*/ 
  322.  
  323. public static boolean isDate(String input){ 
  324.  
  325. return matches(date, input); 
  326.  
  327.  
  328. /** qq*/ 
  329.  
  330. public static boolean isQQ(String input){ 
  331.  
  332. return matches(qq, input); 
  333.  
  334.  
  335. /** 电话号码的函数(包括验证国内区号;国际区号;分机号)*/ 
  336.  
  337. public static boolean isTel(String input){ 
  338.  
  339. return matches(tel, input); 
  340.  
  341.  
  342. /** 用来用户注册。匹配由数字、26个英文字母或者下划线组成的字符串*/ 
  343.  
  344. public static boolean isUserName(String input){ 
  345.  
  346. return matches(username, input); 
  347.  
  348.  
  349. /**字母*/ 
  350.  
  351. public static boolean isLetter(String input){ 
  352.  
  353. return matches(letter, input); 
  354.  
  355.  
  356. public static boolean isLetterAndSpace(String input){ 
  357.  
  358. return matches(letterAndSpace, input); 
  359.  
  360.  
  361. /** 小写字母*/ 
  362.  
  363. public static boolean isLowLetter(String input){ 
  364.  
  365. return matches(letter_l, input); 
  366.  
  367.  
  368. /** 大写字母*/ 
  369.  
  370. public static boolean isUpperLetter(String input){ 
  371.  
  372. return matches(letter_u, input); 
  373.  
  374.  
  375. /** 身份证*/ 
  376.  
  377. public static boolean isIDCard(String input){ 
  378.  
  379. return matches(idcard, input); 
  380.  
  381.  
  382. public static boolean isFloat(String input){ 
  383.  
  384. return matches(isFloat, input); 
  385.  
  386.  
  387. public static boolean isUFloat(String input){ 
  388.  
  389. return matches(isUFloat, input); 
  390.  
  391.  
  392. public static boolean isInteger(String input){ 
  393.  
  394. return matches(isInteger, input); 
  395.  
  396.  
  397. public static boolean isUInteger(String input){ 
  398.  
  399. return matches(isUInteger, input); 
  400.  
  401.  
  402. public static boolean isCarVin(String carVin){ 
  403.  
  404. return matches(isCarVin, carVin); 
  405.  
  406.  
  407. public static boolean matches(String regex,String input){ 
  408.  
  409. if(StringUtils.isBlank(input)) return false
  410.  
  411. if(input.matches(regex))return true
  412.  
  413. return false
  414.  
  415.  
  416. public static void main(String[] args) { 
  417.  
  418. /*System.out.println(isInteger("1")); 
  419.  
  420. System.out.println(isInteger("0")); 
  421.  
  422. System.out.println(isInteger("-1")); 
  423.  
  424. System.out.println(isInteger("1.0")); 
  425.  
  426. System.out.println("--------------------"); 
  427.  
  428. System.out.println(isUInteger("-1")); 
  429.  
  430. System.out.println(isUInteger("0")); 
  431.  
  432. System.out.println(isUInteger("10")); 
  433.  
  434. System.out.println(isUInteger("1.3"));*/ 
  435.  
  436. System.out.println(isLetterAndSpace("tai wan")); 
  437.  
  438.  

 

 

责任编辑:张燕妮 来源: 程序猿联盟
相关推荐

2009-02-18 09:48:20

正则表达式Java教程

2016-11-10 16:21:22

Java 正则表达式

2011-07-11 12:33:30

JAVA

2023-10-07 08:25:09

Java处理工具正则表达式

2009-06-08 16:49:05

Java正则表达式group

2009-06-24 11:24:23

JavaScript验正则表达式

2009-06-09 09:16:52

Java正则表达式

2009-06-10 13:36:07

Java正则表达式工具类

2018-09-27 15:25:08

正则表达式前端

2020-09-04 09:16:04

Python正则表达式虚拟机

2009-09-16 18:03:05

Java正则表达式正则表达式实现

2015-08-06 11:00:50

Linux邮件地址

2023-06-01 12:48:52

Java正则表达式

2010-03-25 18:25:36

Python正则表达式

2009-09-16 18:19:34

正则表达式组

2021-01-27 11:34:19

Python正则表达式字符串

2017-05-12 10:47:45

Linux正则表达式程序基础

2019-07-17 15:45:47

正则表达式字符串前端

2011-06-02 12:34:16

正则表达式

2022-03-28 06:19:14

正则表达式开发
点赞
收藏

51CTO技术栈公众号