4 // before the phone number reserved 3
String phone = "18771632488";
System.out.println(phone.replaceAll("(\\d{3})\\d{4}(\\d{4})","$1****$2"));
// ID number reserved before 4 after 4
String idCard = "421302199208165464";
System.out.println(idCard.replaceAll("(\\d{4})\\d{10}(\\d{4})", "$1****$2"));
Screenshot: