QQ) { String regex = "[1-9][0-9]{4,}"; return check(QQ, regex); } /** * 验证身份证号码15位或18位 * * @param idCard * @return */ public static boolean checkIdCard(String idCard) { String regex = "(^\\d{15}$)|(^\\d{18}$)|(^\\d{17}(\\d|X|x)$)"; return check(idCard, regex); } /** * 验证邮政编码 * * @param postalCode * @return */ public static boolean checkPostalCode(String postalCode) { String regex = "[1-9]\\d{5}(?!\\d)"; return check(postalCode, regex); } /** * 验证URL地址 * * @param url * @return */ public static boolean checkUrl(String url) { String regex = "(http|https)://([a-zA-Z0-9\\-\\.]+\\.\\w+)(:\\d+)?(/\\S*)?"; return check(url, regex); } /** * 验证日期格式(yyyy-MM-dd) * * @param date * @return */ public static boolean checkDate(String date) { String regex = "\\d{4}-\\d{1,2}-\\d{1,2}"; return check(date, regex); } /** * 验证IP地址 * * @param ip * @return */ public static boolean checkIp(String ip) { String regex = "(25[0-5]|2[0-4]\\d|[0-1]?\\d?\\d)(\\.(25[0-5]|2[0-4]\\d|[0-1]?\\d?\\d)){3}"; return check(ip, regex); } } 上述代码提供了一个名为`RegexValidateUtil`的Java工具类,用于使用正则表达式对不同类型的表单数据进行验证。这个类包含了一系列静态方法,每个方法专门针对一种特定的数据格式,如邮箱、手机号码、固话号码、传真号码、QQ号码、身份证号码、邮政编码、URL、日期和IP地址。 1. **邮箱验证**:`checkEmail()`方法使用正则表达式`"^\\w+[-+.]\\w+)*@\\w+([-.]\\w+)*\\.\\w+([-.]\\w+)*$" `来验证输入的字符串是否符合标准的电子邮件格式。 2. **手机号码验证**:`checkCellphone()`方法针对中国手机号码,匹配11位数字且开头符合特定运营商号码段的字符串。 3. **固话号码验证**:`checkTelephone()`方法验证国内电话号码,支持区号+号码+分机号的形式。 4. **传真号码验证**:`checkFax()`方法与固话号码验证类似,同样处理区号+号码+分机号的格式。 5. **QQ号码验证**:`checkQQ()`方法验证9位到11位的QQ号码。 6. **身份证号码验证**:`checkIdCard()`方法用于验证15位或18位的身份证号码,包括最后一位可能是字母的校验码。 7. **邮政编码验证**:`checkPostalCode()`方法检查6位数字的邮政编码。 8. **URL验证**:`checkUrl()`方法确认输入的字符串是否符合URL的标准格式。 9. **日期验证**:`checkDate()`方法验证“年-月-日”格式的日期字符串。 10. **IP地址验证**:`checkIp()`方法验证IPv4地址,确保其符合标准的IP格式。 这个工具类在实际开发中非常有用,尤其是在Web应用中,用于确保用户输入的数据符合预期的格式,从而减少错误和提高用户体验。开发者可以根据需要调用相应的验证方法,将结果作为判断输入数据有效性的依据。此外,这个工具类还具有扩展性,如果需要验证其他类型的数据,可以通过添加新的方法并编写对应的正则表达式来实现。
1
正好遇到一个需求需要将字符串中特定的字符全部提取出来,这个如果是按常规的字符串处理的话非常的繁琐。于是想到用正则表达式来完成,对java正则表达式提取字符的方式实例感兴趣的朋友一起学习吧
1
主要介绍了java正则表达式提取数字的方法,还有去除字符串数字的方法,大家参考使用吧
2022-04-17 12:09:25 20KB 正则表达式提取数字
1
为大家整理了很详细的Java正则表达式使用大全,大家在使用Java正则表达式的时候可查阅这篇文章,认为不错的朋友可以收藏起来
2022-03-30 20:03:52 85KB Java 正则表达式
1
Java版的正则表达式测试工具,首先要按照JRE软件才能运行(压缩包中自带JRE软件)。 运行方式,命令行:java -jar QRe_V0.2.jar
2022-03-10 20:57:13 21.87MB Java 正则表达式 测试 工具
1
用于根据正则表达式生成随机的字符串。下载后有两个jar,导入即可。 原始地址 https://code.google.com/p/xeger/ public static void main(String[] args) { String regex = "[0-9a-z]{32}"; Xeger generator = new Xeger(regex); String result = generator.generate(); assert result.matches(regex); }
2021-11-19 20:39:52 148KB xeger java 正则表达式 字符串
1
java实现用正则表达式的方法提取html中的信息,可以提取标题,正文,链接等。经过运行,没问题的
2021-11-15 20:58:01 18KB 正则表达式
1
主要介绍了java正则表达式匹配网页所有网址和链接文字java正则表达式匹配,需要的朋友可以参考下
2021-11-14 07:11:55 36KB java正则表达式匹配
1
Java正则表达式入门 众所周知,在程序开发中,难免会遇到需要匹配、查找、替换、判断字符串的情况发生,而这些情况有时 又比较复杂,如果用纯编码方式解决,往往会浪费程序员的时间及精力。因此,学习及使用正则表达式, 便成了解决这一矛盾的主要手段。 大家都知道,正则表达式是一种可以用于模式匹配和替换的规范,一个正则表达式就是由普通的字符(例 如字符 a 到 z)以及特殊字符(元字符)组成的文字模式,它用以描述在查找文字主体时待匹配的一个或 多个字符串。正则表达式作为一个模板,将某个字符模式与所搜索的字符串进行匹配。 自从 jdk1.4 推出 java.util.regex 包,就为我们提供了很好的 JAVA 正则表达式应用平台。 因为正则表达式是一个很庞杂的体系,所以我仅例举些入门的概念,更多的请参阅相关书籍及自行摸索。 \\ 反斜杠 \t 间隔 ('\u0009') \n 换行 ('\u000A') \r 回车 ('\u000D') \d 数字 等价于[0-9] \D 非数字 等价于[^0-9] \s 空白符号 [\t\n\x0B\f\r] \S 非空白符号 [^\t\n\x0B\f\r] \w 单独字符 [a-zA-Z_0-9] \W 非单独字符 [^a-zA-Z_0-9] \f 换页符 \e Escape \b 一个单词的边界 \B 一个非单词的边界 \G 前一个匹配的结束 ^为限制开头 ^java 条件限制为以 Java 为开头字符 $为限制结尾 java$ 条件限制为以 java 为结尾字符 .为限制一个任意字符 java.. 条件限制为 java 后除换行外任意两个字符 加入特定限制条件「[]」 [a-z] 条件限制在小写 a to z 范围中一个字符 [A-Z] 条件限制在大写 A to Z 范围中一个字符 [a-zA-Z] 条件限制在小写 a to z 或大写 A to Z 范围中一个字符 [0-9] 条件限制在小写 0 to 9 范围中一个字符 [0-9a-z] 条件限制在小写 0 to 9 或 a to z 范围中一个字符 [0-9[a-z]] 条件限制在小写 0 to 9 或 a to z 范围中一个字符(交集) []中加入^后加再次限制条件「[^]」 [^a-z] 条件限制在非小写 a to z 范围中一个字符 [^A-Z] 条件限制在非大写 A to Z 范围中一个字符 [^a-zA-Z] 条件限制在非小写 a to z 或大写 A to Z 范围中一个字符 [^0-9] 条件限制在非小写 0 to 9 范围中一个字符 [^0-9a-z] 条件限制在非小写 0 to 9 或 a to z 范围中一个字符 [^0-9[a-z]] 条件限制在非小写 0 to 9 或 a to z 范围中一个字符(交集) 在限制条件为特定字符出现 0 次以上时,可以使用「*」 J* 0 个以上 J .* 0 个以上任意字符 J.*D J 与 D 之间 0 个以上任意字符 在限制条件为特定字符出现 1 次以上时,可以使用「+」 J+ 1 个以上 J .+ 1 个以上任意字符 J.+D J 与 D 之间 1 个以上任意字符 在限制条件为特定字符出现有 0 或 1 次以上时,可以使用「?」 JA? J 或者 JA 出现 限制为连续出现指定次数字符「{a}」 J{2} JJ J{3} JJJ 文字 a 个以上,并且「{a,}」 J{3,} JJJ,JJJJ,JJJJJ,???(3 次以上 J 并存) 文字个以上,b 个以下「{a,b}」 J{3,5} JJJ 或 JJJJ 或 JJJJJ 两者取一「|」 J|A J 或 A Java|Hello Java 或 Hello 「()」中规定一个组合类型 比 如 , 我 查 询 index 中 间 的 数 据 , 可 写 作 (.+?) 在使用 Pattern.compile 函数时,可以加入控制正则表达式的匹配行为的参数: Pattern Pattern.compile(String regex, int flag) flag 的取值范围如下: Pattern.CANON_EQ 当且仅当两个字符的"正规分解(canonical decomposition)"都完全相同的情 况下,才认定匹配。比如用了这个标志之后,表达式"a\u030A"会匹配"?"。默认情况下,不考虑"规范相 等性(canonical equivalenc
2021-11-13 11:50:51 231KB java 正则表达式 java开发工具类
1
做压力测试的时候生成随机的参数用的。网上找了下,果然有个Xeger,可以用。我只是做了回搬运工。下载后解压,有两个jar。 public static void main(String[] args) { String regex = "[0-9a-z]{32}"; Xeger generator = new Xeger(regex); String result = generator.generate(); assert result.matches(regex); }
2021-11-03 20:01:42 154KB java 正则表达式
1