当前位置:   article > 正文

各种常用格式校验方法(身份证号格式校验、手机号格式校验、车牌号格式校验...)正则表达式

各种常用格式校验方法(身份证号格式校验、手机号格式校验、车牌号格式校验...)正则表达式

1、手机号格式校验(1)

  1. /**
  2. * 手机号码-合法性-正则校验
  3. * @param phoneNumber
  4. * @return
  5. */
  6. public static boolean isValidatePhoneNumber(String phoneNumber) {
  7. Pattern pattern = Pattern.compile("^[1][3-9]\\d{9}$");
  8. Matcher matcher = pattern.matcher(phoneNumber);
  9. return matcher.matches();
  10. }

2、手机号格式校验(2)包含座机及外国电话

  1. /**
  2. * 包含座机及外国电话
  3. * @param phoneNumber
  4. * @return
  5. */
  6. public static boolean validatePhoneNumber(String phoneNumber){
  7. String regex = "^1[3-9]\\d{9}$|" +
  8. "^1[3-9]\\d{1}[-\\s]\\d{4}[-\\s]\\d{4}$|" +
  9. "^\\(1[3-9]\\d{1}\\)\\d{4}-\\d{4}$|" +
  10. "^(?:\\(\\+\\d{2}\\)|\\+\\d{2})(\\d{11})$|" +
  11. "^0\\d{3}-\\d{7}$|" +
  12. "^0\\d{2}-\\d{8}$";
  13. Pattern pattern = Pattern.compile(regex);
  14. return pattern.matcher(phoneNumber).matches();
  15. }

3、身份证号格式校验

  1. public static boolean validateIdentityNo(String identityNo) {
  2. String regex = "^\\d{17}[\\d|x|X]$";
  3. Pattern pattern = Pattern.compile(regex);
  4. return pattern.matcher(identityNo).matches();
  5. }

4、车牌号格式校验,包含新能源

  1. /**
  2. * 包含新能源
  3. * @param carNumber
  4. * @return
  5. */
  6. public static boolean validateCarNumber(String carNumber){
  7. if (carNumber.length() >= 7 && carNumber.length() <= 8){
  8. Pattern p = Pattern.compile("^([京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领A-Z]{1}[a-zA-Z](([ABCDF]((?![IO])[a-zA-Z0-9](?![IO]))[0-9]{4})|([0-9]{5}[ABCDF]))|[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领A-Z]{1}[A-Z]{1}[A-Z0-9]{4}[A-Z0-9挂学警港澳]{1})$");
  9. Matcher m = p.matcher(carNumber);
  10. return m.matches();
  11. }else{
  12. return false;
  13. }
  14. }

5、邮箱格式校验

  1. public static boolean validateEmail(String email) {
  2. int k = 0;
  3. if(email == null) {
  4. return false;
  5. }
  6. /*
  7. * 单引号引的数据 是char类型的
  8. 双引号引的数据 是String类型的
  9. 单引号只能引一个字符
  10. 而双引号可以引0个及其以上*
  11. */
  12. //判断是否有仅有一个@且不能在开头或结尾
  13. if(email.indexOf("@") > 0 && email.indexOf('@') == email.lastIndexOf('@') && email.indexOf('@') < email.length()-1) {
  14. k++;
  15. }
  16. //判断"@"之后必须有"."且不能紧跟
  17. if(email.indexOf('.',email.indexOf('@')) > email.indexOf('@')+1 ) {
  18. k++;
  19. }
  20. //判断"@"之前或之后不能紧跟"."
  21. if(email.indexOf('.') < email.indexOf('@')-1 || email.indexOf('.') > email.indexOf('@')+1 ) {
  22. k++;
  23. }
  24. //@之前要有5个字符
  25. if(email.indexOf('@') > 4 ) {
  26. k++;
  27. }
  28. if(email.endsWith("com") || email.endsWith("org") || email.endsWith("cn") ||email.endsWith("net")) {
  29. k++;
  30. }
  31. return k == 5;
  32. }

6、校验字符串是否符合年月yyyyMM时间格式

  1. /**
  2. * 校验字符串是否符合yyyyMM时间格式
  3. * @param dateStr
  4. * @return
  5. */
  6. public static boolean isDateFormatValid(String dateStr){
  7. String regex = "^(\\d{4})(0[1-9]|1[0-2])$";
  8. Pattern pattern = Pattern.compile(regex);
  9. Matcher matcher = pattern.matcher(dateStr);
  10. return matcher.matches();
  11. }

7、校验字符串是否符合年月日yyyyMMdd时间格式

  1. /**
  2. * 校验字符串是否符合yyyyMMdd格式
  3. * @param dateStr
  4. * @return
  5. */
  6. public static boolean isDateFormatValid(String dateStr){
  7. String dateFormat = "yyyyMMdd";
  8. SimpleDateFormat simpleDateFormat = new SimpleDateFormat(dateFormat);
  9. simpleDateFormat.setLenient(false);
  10. try{
  11. simpleDateFormat.parse(dateStr);
  12. return true;
  13. }catch (ParseException e){
  14. return false;
  15. }
  16. }

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Guff_9hys/article/detail/838797
推荐阅读
相关标签
  

闽ICP备14008679号