自定义Java工具类

系统管理员 2022-05-25 03:49 357阅读 0赞

我们平时在做项目的时候经常会做一下一些校验,比如(手机、邮箱、身份证号格式校验;字符串和集合等是否为空判断),在这里我们讲介绍一些常见的数据校验,我们把它封装在utils类中,方便以后做项目去调用。

  1. /*判断字符串是否为空,这里为空的标准为字符串等于null 或者去除开头结尾的空值字符长度为0*/
  2. public static boolean isEmpty(String str) {
  3. return str == null || str.trim().length() == 0;
  4. }
  5. /*判断collection集合和其子类是否为空,在这里都可以用这个方法 判断标准为集合为null或者集合中没有元素 */
  6. @SuppressWarnings("rawtypes")
  7. public static boolean isEmpty(Collection collection) {
  8. return collection == null || collection.size() < 1;
  9. }
  10. /*判断map集合和其子类是否为空,在这里都可以用这个方法 判断标准为集合为null或者集合中没有元素 */
  11. @SuppressWarnings("rawtypes")
  12. public static boolean isEmpty(Map map) {
  13. return map == null || map.size() < 1;
  14. }
  15. /*通过正则表达式判断该字符串是否为邮箱格式*/
  16. public static boolean isEmail(String email) {
  17. if (email == null) {
  18. return false;
  19. }
  20. /*判断邮箱格式: ^\\w+:邮箱可以以数字或字母开始,出现一次或者多次 ([-+.]\\w+)*:(后面可以跟着-号、+号或者.号在拼接数字或字母一次 或多次),括号中的内容可以出现零次或者多次 @:中间拼接上@符号 \\w+([-.]\\w+)*\\.\\w+([-.]\\w+)*$:这部分和前面部分类似 例如邮箱:abc-def+ghi.jkl.mno@pq.com.cn 因为不同的邮箱服务器,域名的命名规则是有差异的,这个是比较通用的一种 */
  21. return Pattern.matches("^\\w+([-+.]\\w+)*@\\w+([-.]\\w+)*\\.\\w+([-.]\\w+)*$", email);
  22. }
  23. /*通过正则表达式判断该字符串是否为手机格式*/
  24. public static boolean isPhone(String phoneNum) {
  25. if (phoneNum == null) {
  26. return false;
  27. }
  28. //验证规则,手机号第一位为1,后面十位为数字
  29. return Pattern.matches("^1(\\d{10})$", phoneNum);
  30. }
  31. /*通过正则表达式判断该字符串是否为身份证号码格式*/
  32. /* 身份证分为15位身份证和18位身份证号码 18位身份证号:xxxxxx yyyy MM dd *** 0 十八位 15位身份证号:xxxxxx yy MM dd ** 0 十五位 首先身份证是以1-9开头,前6位表示区域:^[1-9]/d{5} 年的前两位:(18|19|([23]\d)) 年的后两位: \d{2} 月份:((0[1-9])|(10|11|12)) 天:(([0-2][1-9])|10|20|30|31) 三位顺序码:\d{3} 两位顺序码:\d{2} 校验码:[0-9Xx] 十八位: ^[1-9]\d{5}(18|19|([23]\d))\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$ 十五位: ^[1-9]\d{5}\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{2}$ */
  33. public static boolean isIdCard(String idCard) {
  34. if (idCard == null) {
  35. return false;
  36. }
  37. return Pattern.matches("(^[1-9]\d{5}(18|19|([23]\d))\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$)|(^[1-9]\d{5}\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{2}$)", idCard);
  38. }

发表评论

表情:
评论列表 (有 0 条评论,357人围观)

还没有评论,来说两句吧...

相关阅读

    相关 定义工具

    自定义工具类 概述: 一个类的方法只有静态方法并且构造方法私有化的类就叫做工具类 作用: 集成某个领域的不同功能,使用的时候方便、快捷 自定义工具类【A

    相关 定义Java工具

    我们平时在做项目的时候经常会做一下一些校验,比如(手机、邮箱、身份证号格式校验;字符串和集合等是否为空判断),在这里我们讲介绍一些常见的数据校验,我们把它封装在utils类中,