提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
PhoneUtil
import org.apache.commons.lang3.StringUtils;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
/**
* @author ruansm
* @date 2022/11/4
*/
public class PhoneUtil {
private static final String VALID_REGEX = "^1[0-9]\\d{9}$";
private static final String RETRIEVE_PHONE = "(1)([0-9])\\d{9}";
private static final String DESENSITIVE_REGEX = "(\\d{3})\\d{4}(\\d{4})";
public static boolean isValid(String phone){
if (StringUtils.isBlank(phone)){
return false;
}
Pattern p = Pattern.compile(VALID_REGEX);
Matcher m = p.matcher(phone);
return m.matches();
}
public static String desensitive(String phone){
if(phone==null){
return "";
}
String replacePhone = phone.replaceAll(DESENSITIVE_REGEX, "$1****$2");
return replacePhone;
}
public static String clearPhone(String phone){
if(phone==null){
return "";
}
return phone.replaceAll(RETRIEVE_PHONE,"");
}
}
1.手机号脱敏
public static void main(String[] args) {
System.out.println(PhoneUtil.desensitive("18523455506"));
System.out.println(PhoneUtil.desensitive("18823455507"));
System.out.println(PhoneUtil.desensitive("15623455508"));
}
2.手机号是否有效
public static void main(String[] args) {
System.out.println(PhoneUtil.isValid("18855551234"));
System.out.println(PhoneUtil.isValid("188555512345"));
System.out.println(PhoneUtil.isValid("188555512"));
System.out.println(PhoneUtil.isValid("1885555a234"));
}