正则表达式校验
Posted jcjssl
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了正则表达式校验相关的知识,希望对你有一定的参考价值。
1 package utils.data; 2 3 import java.util.regex.Matcher; 4 import java.util.regex.Pattern; 5 6 /** 7 * 正则表达式校验 8 * @author dragon 9 * 日期 2016年5月26日 10 */ 11 public class ValidateUtil { 12 13 /** 14 * 银行卡校验 15 * @param bankCardNo 16 * @return 17 */ 18 public static boolean isBankCardNumber(String bankCardNo){ 19 if (null == bankCardNo) { 20 return false; 21 } 22 Pattern p = Pattern.compile("^\d{19}$"); 23 Matcher m = p.matcher(bankCardNo); 24 return m.matches(); 25 } 26 27 28 /** 29 * 检测是否为手机号码 30 * @param phoneNum 31 * @return 32 */ 33 public static boolean isPhoneNumber(String phoneNum){ 34 if (null == phoneNum) { 35 return false; 36 } 37 Pattern p = Pattern.compile("^((1[3-8][0-9])|(15[^4,\D])|(18[0,5-9]))\d{8}$"); 38 Matcher m = p.matcher(phoneNum); 39 return m.matches(); 40 } 41 42 /** 43 * 检测邮箱 44 * @param email 45 * @return 46 */ 47 public static boolean isEmail(String email) { 48 if (null == email) { 49 return false; 50 } 51 String str = "^([a-zA-Z0-9]*[-_]?[a-zA-Z0-9]+)*@([a-zA-Z0-9]*[-_]?[a-zA-Z0-9]+)+[\.][A-Za-z]{2,3}([\.][A-Za-z]{2})?$"; 52 Pattern p = Pattern.compile(str); 53 Matcher m = p.matcher(email); 54 return m.matches(); 55 } 56 57 /** 58 * 检测身份证合法性 59 * @param phoneNum 60 * @return 61 */ 62 public static boolean isRightIdentity(String identityCardNum){ 63 if (null == identityCardNum) { 64 return false; 65 } 66 //定义判别用户身份证号的正则表达式(要么是15位,要么是18位,最后一位可以为字母) 67 Pattern idNumPattern = Pattern.compile("(\d{14}[0-9a-zA-Z])|(\d{17}[0-9a-zA-Z])"); 68 //通过Pattern获得Matcher 69 Matcher m = idNumPattern.matcher(identityCardNum); 70 return m.matches(); 71 } 72 73 }
使用:
1 if (!ValidateUtil.isEmail(account)) { 2 loginCoreUser.setPhone(account); 3 loginCoreUser.setUsername(account); 4 coreUser = loginService.findByPhoneAndOrganizationIdAndUserType(account, organizationId, CoreUserDto.USER_TYPE_MEMBER, false); 5 } else { 6 loginCoreUser.setEmail(account); 7 loginCoreUser.setUsername(account); 8 coreUser = loginService.findByEmailAndOrganizationIdAndUserType(account, organizationId, CoreUserDto.USER_TYPE_MEMBER, false); 9 }
以上是关于正则表达式校验的主要内容,如果未能解决你的问题,请参考以下文章