Java 脚本:如何使用正则表达式屏蔽九位数字的前五位数字



例如: 123456789正则表达式结果:#####6789

如果它是 10 位或更多,它不会改变任何东西。

为什么这个基本的字符串问题需要正则表达式?

function mask(val){
  result = (val.length === 9) ? "#####" + val.substr(5, val.length-1) : val;
  console.log(result);
}
mask("123456789");
mask("1234567890");

假设您的数字前面总是有一个字母或空格:

 myString.replace(new RegExp("([a-zA-Zs])(d{5})(d{4})([a-zA-Zs])",g), "$1#####$3$4")

您可以使用String#slice并在添加前缀后调整长度。

function getMasked(string) {
    return string.length < 10
        ? ('#####' + string.slice(5)).slice(0, string.length)
        : string;
}
console.log(getMasked('123456789'));
console.log(getMasked('1234567890'));
console.log(getMasked('1'));

最新更新