当前位置: 首页 > 知识库问答 >
问题:

如何用Java阻止手机号码中间的四位数字?

池照
2023-03-14

日志打印时,我想屏蔽电话号码和身份证的中间。我不想在每个实体类中更改toString方法。有没有办法从一个长字符串中替换电话号码?

共有1个答案

羊舌迪
2023-03-14

通过使用一个知道各个字段敏感性的包装器来装饰正在记录的对象,您可能会取得一些成功。

一个非常基本的例子。。。

class NumberHidingDecorator {

    private final Object decorated;

    public NumberHidingDecorator(Object decorated) {
        this.decorated = decorated;
    }

    @Override
    public String toString() {
        return decorated.toString().replaceAll("(\d{2})\d+(\d{2})", "$1...$2");
    }
}

然后把装饰过的东西交给你的伐木设备

log.info("Invalid credit card {}", new NumberHidingDecorator(creditCard));
 类似资料:
  • 本文向大家介绍PHP手机号中间四位用星号*代替显示的实例,包括了PHP手机号中间四位用星号*代替显示的实例的使用技巧和注意事项,需要的朋友参考一下 在显示用户列表的场景中,一般用到手机号的显示时都需要对手机号进行处理,一般是把中间的四位换成星号****,我本人用php处理的思路是进行替换,用****替换手机号的中间四位 代码如下: 另外几种方法 结果: 以上就是本文的全部内容,希望对大家的学习有所

  • 本文向大家介绍C#使用正则表达式隐藏手机号中间四位为*,包括了C#使用正则表达式隐藏手机号中间四位为*的使用技巧和注意事项,需要的朋友参考一下 使用正则:Regex.Replace(手机号, "(\\d{3})\\d{4}(\\d{4})", "$1****$2"); 效果: 以上所述是小编给大家介绍的C#使用正则表达式隐藏手机号中间四位为*,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编

  • 在我的应用程序上,我正在使用手机摄像头,并将图像保存在sd卡上。问题是照片也被保存在手机的内存中。我有什么办法阻止不了吗? 这是启动相机意图的代码: 这是将图像保存到sd卡的代码: 这是将ImageView设置为拍摄的图片的代码: 谢谢你的帮助!

  • 有没有办法在Java中找到电话号码的国家代码?如果我给9710334544,我将收到国家代码91(如果是印度)。 有什么建议吗。

  • 我如何使用Flutter以编程方式获取运行我的android应用程序的设备的电话号码? 我知道我们可以使用以下语法在android Studio中轻松做到这一点: 但是如何使用颤振来做到这一点?

  • 我正在使用这个版本的Eclipse:版本:2019-09 R(4.13.0)构建ID:20190917-1200 我想我已经设置了所有可能的设置 Eclipse 必须禁用所有导入之间的空白行,但是每当程序自动添加新导入时,它仍然会自动在导入组之间插入一个空行。 我所说的一个例子: 我设置了多个似乎会对此产生影响的设置,主要的一个似乎应该绝对控制它的设置是< br >窗口-