码迷,mamicode.com
首页 > 其他好文 > 详细

正则表达式校验

时间:2018-08-02 15:01:46      阅读:152      评论:0      收藏:0      [点我收藏+]

标签:ice   .data   regex   param   手机号   ber   find   定义   att   

 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 }

 

正则表达式校验

标签:ice   .data   regex   param   手机号   ber   find   定义   att   

原文地址:https://www.cnblogs.com/jcjssl/p/9406800.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!