我有一个电话号码,我想像审查表格一样显示它.例如,我有:+923451234567
我想显示它像: +923*******67
将使用Str.replace函数,但如何:
var str = '+923451234567'
str.replace(i_Dont_Know_What, '*');
Run Code Online (Sandbox Code Playgroud)
所以在这种情况下字符串包含13个字符.我想用"*"替换第5-11个字符
我在某个地方找到了这个,但这不是我想要的.
var str = "name(replace these parenthesis by @)domain.com";
var patt1 = /\(.*@\)/i;
document.write(str.replace(patt1,"@"));
Run Code Online (Sandbox Code Playgroud)
我怎么做到这一点?
漂亮而简单的一行替换为子字符串匹配,这里不需要凌乱的正则表达式。
var str = '+923451234567';
console.log(str.replace(str.substring(4,11), "*******"));Run Code Online (Sandbox Code Playgroud)
正则表达式在开头保留 3 个 num 字符,在结尾保留 2 个字符
正则表达式解释:https : //regex101.com/r/xR6pRD/1
var str = '+923451234567'
str = str.replace(/(\+?\d{3})(\d+)(\d{2})/g, function(match, start, middle, end) {
return start + "*".repeat(middle.length) + end;
});
document.write(str);Run Code Online (Sandbox Code Playgroud)
多种方式,一种方式是简单的reg表达
console.log("+923451234567".replace(/(\+\d{3})\d{7}/,"$1*******"))Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3052 次 |
| 最近记录: |