在做電商中,有些手機號是不能全部顯示的,中間四位一般需要替換成*
這樣處理有2中方法,a:substring來分割 b:正則驗證
a:substring來分割手機號
public static void main(String[] args) {
String phone = "13123456789";
String phoneNumber = phone.substring(0, 3) + "****" + phone.substring(7, phone.length());
System.out.println("phone總長度:" + phone.length());
System.out.println("phone前3位:" + phone.substring(0, 3));
System.out.println("phone中4位:" + phone.substring(3, 7));
System.out.println("phone后4位:" + phone.substring(7, phone.length()));
System.out.println("phone中4*:" + phoneNumber);
}
效果圖:
b:正則來驗證手機號
public static void main(String[] args) {
String phone = "13123456789";
String phoneNumber = phone.replaceAll("(\\d{3})\\d{4}(\\d{4})","$1****$2");
System.out.println("正則phone中4*:" + phoneNumber);
}
效果圖:
c:正則來驗證身份證號
public static void main(String[] args) {
String idCard = "123456789987654321";
//$1、$2、……表示正則表達式里面第一個、第二個、……括號里面的匹配內容
String idCardNumber = idCard.replaceAll("(\\d{4})\\d{10}(\\w{4})","$1****$2");
System.out.println("身份證號長度:"+idCard.length());
System.out.println("正則idCard中4*:" + idCardNumber);
}
效果圖: