正则表达式校验

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 }

 

以上是关于正则表达式校验的主要内容,如果未能解决你的问题,请参考以下文章

JavaScript实现表单的校验以及匹配正则表达式

正则表达式

常用模块-正则re

js金额校验,js正则表达式,包含正负,小数点后两位

JAVA密码校验正则表达式

20几个正则常用正则表达式