首页 > 代码库 > [正则表达式]常见字段的校验
[正则表达式]常见字段的校验
正则表达式可以方便地对数据进行匹配,也可以执行更加复杂的字符串验证。
下面是一些常见字段的校验,总结一下,以后总会用到的。
1 import java.util.regex.Matcher; 2 import java.util.regex.Pattern; 3 4 public class Validate { 5 //对生日的校验 6 //格式:yyyy-mm-dd 7 public static String isBirthday(String birthday){ 8 String errorMsg=""; 9 String pat="\\d{4}-\\d{1,2}-\\d{1,2}"; 10 Pattern p=Pattern.compile(pat); 11 Matcher m=p.matcher(birthday); 12 if(m.matches()){ 13 errorMsg="生日格式合法."; 14 }else{ 15 errorMsg="生日格式不合法."; 16 } 17 return errorMsg; 18 } 19 20 //对账号的校验 21 //格式:字母开头,允许6-12字节,允许字母数字下划线 22 public static String isUsername(String username){ 23 String errorMsg=""; 24 String pat="[a-zA-Z][a-zA-Z0-9_]{5,11}"; 25 Pattern p=Pattern.compile(pat); 26 Matcher m=p.matcher(username); 27 if(m.matches()){ 28 errorMsg="账号格式合法."; 29 }else{ 30 errorMsg="账号格式不合法."; 31 } 32 return errorMsg; 33 } 34 35 //对QQ号的校验 36 //格式:从10000开始 5-11位 37 public static String isQqnumber(String qqnumber){ 38 String errorMsg=""; 39 String pat="[1-9][0-9]{4,10}"; 40 Pattern p=Pattern.compile(pat); 41 Matcher m=p.matcher(qqnumber); 42 if(m.matches()){ 43 errorMsg="QQ号格式合法."; 44 }else{ 45 errorMsg="QQ号格式不合法"; } 46 return errorMsg; 47 } 48 49 //对手机号码的校验 50 //格式:13 145 147 15 18开头 51 public static String isPhonenumber(String phonenumber){ 52 String errorMsg=""; 53 String pat="(13[0-9]|14[5|7]|15[0|1|2|3|5|6|7|8|9]|18[0|1|2|3|5|6|7|8|9])\\d{8}"; 54 Pattern p=Pattern.compile(pat); 55 Matcher m=p.matcher(phonenumber); 56 if(m.matches()){ 57 errorMsg="手机号码格式合法."; 58 }else{ 59 errorMsg="手机号码格式不合法."; 60 } 61 return errorMsg; 62 } 63 64 //对身份证号码的校验 65 public static String isIdnumber(String idnumber){ 66 String errorMsg=""; 67 String pat="\\d{15}|\\d{18}"; 68 Pattern p=Pattern.compile(pat); 69 Matcher m=p.matcher(idnumber); 70 if(m.matches()){ 71 errorMsg="身份证号码格式合法."; 72 }else{ 73 errorMsg="身份证号码格式不合法."; 74 } 75 return errorMsg; 76 } 77 78 //对电子邮箱的校验 79 //格式:xxx@xxx.xxx 80 public static String isAddress(String address){ 81 String errorMsg=""; 82 String pat="\\w+([-+.]\\w+)*@\\w+([-.]\\w+)*\\.\\w+([-.]\\w+)*"; 83 Pattern p=Pattern.compile(pat); 84 Matcher m=p.matcher(address); 85 if(m.matches()){ 86 errorMsg="电子邮箱格式合法."; 87 }else{ 88 errorMsg="电子邮箱格式不合法."; 89 } 90 return errorMsg; 91 } 92 93 //对电话号码的校验 94 //格式:XXX-XXXXXXXX或XXXX-XXXXXXX 95 public static String isPhone(String phone){ 96 String errorMsg=""; 97 String pat="\\d{3}-\\d{8}|\\d{4}-\\d{7}"; 98 Pattern p=Pattern.compile(pat); 99 Matcher m=p.matcher(phone);100 if(m.matches()){101 errorMsg="电话号码格式合法.";102 }else{103 errorMsg="电话号码格式不合法.";104 }105 return errorMsg;106 }107 108 //对邮政编码的校验109 //中国邮政编码为6位数字110 public static String isPostnumber(String postnumber){111 String errorMsg="";112 String pat="[1-9]\\d{5}(?!\\d)";113 Pattern p=Pattern.compile(pat);114 Matcher m=p.matcher(postnumber);115 if(m.matches()){116 errorMsg="邮政编码格式合法.";117 }else{118 errorMsg="邮政编码格式不合法.";119 }120 return errorMsg;121 }122 123 //对中文名的校验124 //有两个以上中文125 public static String isChinesename(String chinesename){126 String errorMsg="";127 String pat="[\u4e00-\u9fa5]{2,}";128 Pattern p=Pattern.compile(pat);129 Matcher m=p.matcher(chinesename);130 if(m.matches()){131 errorMsg="中文名格式合法.";132 }else{133 errorMsg="中文名格式不合法.";134 }135 return errorMsg;136 }137 138 //对website的校验139 public static String isWebsite(String website){140 String errorMsg="";141 String pat="http://([\\w-]+\\.)+[\\w-]+(/[\\w-./?%&=]*)?$";142 Pattern p=Pattern.compile(pat);143 Matcher m=p.matcher(website);144 if(m.matches()){145 errorMsg="website格式合法.";146 }else{147 errorMsg="website格式不合法.";148 }149 return errorMsg;150 }
151 }
[正则表达式]常见字段的校验
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。