RegexConstants.java 4.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148
  1. package com.persagy.fm.common.constant;
  2. import java.util.regex.Matcher;
  3. import java.util.regex.Pattern;
  4. /**
  5. * 正则表达式常量
  6. *
  7. * @author lixing
  8. * @version V1.0 2021/3/19 3:40 下午
  9. **/
  10. public class RegexConstants {
  11. /**
  12. * 空字符串正则表达式
  13. */
  14. private static final String BLANK_REGEX = "^$";
  15. /**
  16. * 中文正则表达式
  17. */
  18. private static final String CH_REGEX = "[\u4e00-\u9fa5]";
  19. /**
  20. * 小写字母正则表达式
  21. */
  22. private static final String LOWERCASE_REGEX = "[a-z]";
  23. /**
  24. * 大写字母正则表达式
  25. */
  26. private static final String UPPERCASE_REGEX = "[A-Z]";
  27. /**
  28. * 数字正则表达式
  29. */
  30. private static final String NUM_REGEX = "[0-9]";
  31. /**
  32. * 经常允许的特殊字符正则表达式
  33. */
  34. private static final String CHAR_REGEX = "['._#~]";
  35. /**
  36. * 所有允许的特殊字符正则表达式
  37. */
  38. private static final String ALL_CHAR_REGEX = "[!\"#\\$%&'\\(\\)\\*\\+,-\\.\\/:;<=>\\?@\\[\\\\\\]\\^_`\\{\\|\\}~\\s]";
  39. private static final String EN_REGEX_EXPRESSION = LOWERCASE_REGEX + "|" + UPPERCASE_REGEX;
  40. private static final String EN_NUM_REGEX_EXPRESSION = EN_REGEX_EXPRESSION + "|" + NUM_REGEX;
  41. private static final String EN_NUM_CHAR_REGEX_EXPRESSION = EN_NUM_REGEX_EXPRESSION + "|" + CHAR_REGEX;
  42. private static final String NAME_REGEX_EXPRESSION = EN_NUM_CHAR_REGEX_EXPRESSION + "|" + CH_REGEX;
  43. private static final String ALL_REGEX_EXPRESSION = EN_NUM_REGEX_EXPRESSION + "|" + CH_REGEX + "|" + ALL_CHAR_REGEX;
  44. private static final String TEXT_REGEX_EXPRESSION = CH_REGEX + "|" + EN_REGEX_EXPRESSION;
  45. /**
  46. * 允许的字符正则表达式报警信息
  47. */
  48. private static final String CHAR_REGEX_WARNING = " ' . _ # ~ ";
  49. private static final String ALL_CHAR_REGEX_WARNING = "空格和! \" # $ % & ' ( ) * + , - . / : ; < = > ? @ [ \\ ] ^ _` { | } ~";
  50. /**
  51. * 名称正则表达式
  52. * 支持中英文字符,数字,"._#~"
  53. */
  54. public static final String NAME_REGEX = "(" + NAME_REGEX_EXPRESSION + ")+";
  55. /**
  56. * 名称正则表达式报警信息
  57. */
  58. public static final String NAME_REGEX_WARNING = "仅可输入中文,字母,数字以及" + CHAR_REGEX_WARNING;
  59. /**
  60. * 常用文本正则表达式
  61. * 支持中英文字符
  62. */
  63. public static final String TEXT_REGEX = "(" + TEXT_REGEX_EXPRESSION + ")+";
  64. /**
  65. * 所有允许的文本正则表达式
  66. * 支持中英文字符
  67. */
  68. public static final String ALL_REGEX = "(" + ALL_REGEX_EXPRESSION + ")+";
  69. /**
  70. * 文本正则表达式报警信息
  71. */
  72. public static final String TEXT_REGEX_WARNING = "仅可输入中文,字母";
  73. public static final String ALL_REGEX_WARNING = "仅可输入中文,字母,数字以及" + ALL_CHAR_REGEX_WARNING;
  74. /**
  75. * 英文正则表达式
  76. * 支持数字和字母
  77. */
  78. public static final String EN_NUM_REGEX = "(" + EN_NUM_REGEX_EXPRESSION + ")+";
  79. /**
  80. * 英文或空字符串正则表达式
  81. * 支持数字和字母和空字符串
  82. */
  83. public static final String EN_NUM_BLANK_REGEX = "(" + BLANK_REGEX + "|" + EN_NUM_REGEX_EXPRESSION + ")+";
  84. /**
  85. * 英文正则表达式报警信息
  86. */
  87. public static final String EN_NUM_REGEX_WARNING = "仅可输入字母,数字";
  88. /**
  89. * 英文、数字、字符正则表达式
  90. * 支持数字,字母,"._#~"
  91. */
  92. public static final String EN_NUM_CHAR_REGEX = "(" + EN_NUM_CHAR_REGEX_EXPRESSION + ")+";
  93. /**
  94. * 英文、数字、字符正则表达式报警信息
  95. */
  96. public static final String EN_NUM_CHAR_REGEX_WARNING = "仅可输入字母,数字以及" + CHAR_REGEX_WARNING;
  97. /**
  98. * 邮箱格式非法提示
  99. */
  100. public static final String EMAIL_REGEX_WARNING = "邮箱格式错误";
  101. /**
  102. * 身份证正则表达式
  103. */
  104. public static final String ID_CARD_REGEX = "(^\\d{15}$)|(^\\d{18}$)|(^\\d{17}(\\d|X|x)$)";
  105. public static final String ID_CARD_OR_BLANK_REGEX = "(" +BLANK_REGEX + "|" + ID_CARD_REGEX + ")";
  106. /**
  107. * 身份证非法提示
  108. */
  109. public static final String ID_CARD_REGEX_WARNING = "请输入正确身份证号";
  110. /**
  111. * 手机号正则表达式
  112. */
  113. public static final String PHONE_REGEX = "^\\d{11}$";
  114. public static final String PHONE_OR_BLANK_REGEX = "(" +BLANK_REGEX + "|" + PHONE_REGEX + ")";
  115. /**
  116. * 手机号非法提示
  117. */
  118. public static final String PHONE_REGEX_WARNING = "请输入正确手机号码";
  119. public static void main(String[] args) {
  120. String str = "12345678901";
  121. String regEx = PHONE_REGEX;
  122. // 编译正则表达式
  123. Pattern pattern = Pattern.compile(regEx);
  124. Matcher matcher = pattern.matcher(str);
  125. // 字符串是否与正则表达式相匹配
  126. boolean rs = matcher.matches();
  127. System.out.println(rs);
  128. }
  129. }