一、概述
凡事要学会总结,用到了正则就要统一总结起来。此外,当应用了一个知识点时,也要学会总结其的更广泛或者更高级的应用。
二、脱敏操作
手机号码脱敏:
//脱敏手机号码中间四位
mobile.replaceAll("(\\d{3})\\d{4}(\\d{4})","$1****$2");
三、手机号码格式匹配
phone.matches("^1(?:3\\d|4[4-9]|5[0-35-9]|6[67]|7[013-8]|8\\d|9\\d)\\d{8}$")
四、身份证校验
/**
* 15位身份证号码的基本数字和位数验校
*
* @param idcard
* @return
*/
public boolean is15Idcard(String idcard) {
return idcard ==null ||"".equals(idcard) ?false : Pattern.matches(
"^[1-9]\\d{7}((0\\d)|(1[0-2]))(([0|1|2]\\d)|3[0-1])\\d{3}$",
idcard);
}
/**
* 18位身份证号码的基本数字和位数验校
* @param idcard
* @return
*/
public boolean is18Idcard(String idcard) {
return Pattern
.matches(
"^[1-9]\\d{5}[1-9]\\d{3}((0\\d)|(1[0-2]))(([0|1|2]\\d)|3[0-1])\\d{3}([\\d|x|X]{1})$",
idcard);
}
五、数字校验
public boolean isDigital(String str) {
return str ==null ||"".equals(str) ?false : str.matches("^[0-9]*$");
}
总结:正则表达式一般用于字符串匹配, 字符串查找和字符串替换。在工作学习中灵活运用正则表达式处理字符串能够大幅度提高效率。
网友评论