为了账号安全,请及时绑定邮箱和手机立即绑定

JavaScript 用 * 替换前 5 个字符

JavaScript 用 * 替换前 5 个字符

LEATH 2021-09-30 15:20:29
我需要 Javascript Regex 来替换前 5 个字符。下面是几个例子。第一行是输入,第二行是预期输出。你能告诉我如何实现这一目标吗?我试过以下。但是如果输入小于 4,它们都不起作用。.{5} to ***** and ^\d{5} to *****例子123456789XXXXX6789123XXX123456XXXXX61X12345XXXXX
查看完整描述

3 回答

?
天涯尽头无女友

TA贡献1831条经验 获得超9个赞

你的第一个正则表达式需要一些调整,这应该可以工作。


let reg = /.{1,5}/

let string = '123456789';

let string2 = '123';

console.log(string.replace(reg, (m) => "X".repeat(m.length)));

console.log(string2.replace(reg, (m) => "X".repeat(m.length))); 


查看完整回答
反对 回复 2021-09-30
?
繁星点点滴滴

TA贡献1803条经验 获得超3个赞

您可以在以下位置使用回调函数或 lambda .replace():


var arr = ['123456789',

'123',

'123456',

'1',

'12345'];


arr.forEach(el => console.log(el, '::', el.replace(/^\d{1,5}/, 

            m => m.replace(/\d/g, 'X'))))


查看完整回答
反对 回复 2021-09-30
?
牛魔王的故事

TA贡献1830条经验 获得超3个赞

如果您不是在寻找正则表达式解决方案,那么您也可以尝试将其作为一个选项。基于 substring() 方法的替代方案


function replace_String(string, numberofchar,chartoreplace) {


  return string.substring(0, numberofchar).split("").map(ele => ele = chartoreplace).join("").concat(string.substring(numberofchar, string.length))


}



console.log(replace_String("123456789", 5,"X"))

console.log(replace_String("1", 1,"*"))


查看完整回答
反对 回复 2021-09-30
  • 3 回答
  • 0 关注
  • 400 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信