java隐藏手机号中间四位和隐藏邮箱

实现隐藏号码以及隐藏邮箱,类似于滴滴打车的那种模式。

在最近的项目中使用到了该功能,去年实现该功能的时候使用了第三方,或者sql查询的时候可以把结果替换,但是做的时候特别的繁琐麻烦,接下来给大家推荐使用正则的方式实现(特么的简单)

 

1、电话号码隐藏(134****6599)

/**
* 电话号码隐藏中间四位数
*/
public static void main(String[] args) {
    String phone = "13497256599";
    String hiddenPhone = phone.replaceAll("(\\d{3})\\d{4}(\\d{4})", "$1****$2");
    System.out.println(hiddenPhone);
}

2、邮箱隐藏(1****9@qq.com)

/**
* 邮箱只显示@前面的首位跟末位
*/
public static void main(String[] args) {
    String email = "1349725659@qq.com";
    String hiddenEmail = email.replaceAll("(\\w?)(\\w+)(\\w)(@\\w+\\.[a-z]+(\\.[a-z]+)?)",                     
                                          "$1****$3$4");
    System.out.println(hiddenEmail);
}

$1,$2分别匹配第一个括号和第二个括号中的内容。

 

!注:是不是特别简单的一逼,我也觉得特简单。


版权声明:本文为weixin_41235754原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。