JavaScript 将前 5 个字符替换为 *

共7个回答, 标签: javascript jquery regex

我需要 Javascript Regex 来替换前 5 个字符。下面是几个例子。第一行是输入,第二行是预期输出。你能告诉我如何做到这一点吗?

我试过了。但是如果输入小于 4,它们都不起作用。

。{5} 到 * 和 ^ \ d {5} 到 *

例子

123456789
XXXXX6789

123
XXX

123456
XXXXX6

1
X

12345
XXXXX
第1个答案

你的第一个正则表达式需要一点调整,这应该是可行的。

让 reg =/。{1,5}/
Let string = '123456789';
让 string2 = '123';
控制台。日志 (字符串。替换 (reg,(m) => “X”。重复 (长度);
控制台。日志 (string2.Replace (reg,(m) => "X"。重复 (长度);
第2个答案

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

Var arr = ['123456789',
'123',
'123456',
'1',
“12345”];

第3个答案

如果你不寻找 regex 解决方案,那么你也可以尝试这个选项。

函数 replace_String (string,numberofchar,chartoreplace) {

返回字符串。子字符串 (0,numberofchar)。拆分 ("")。地图 (ele => ele = chartoreplace)。加入 ("")。 concat (字符串。子字符串 (numberofchar,string。长度)
}
第4个答案

你可以用许多方法做到这一点。一是两个替换语句

Const hideFive = str => str.replace (/\ d {1,5}/,x => x.replace (/。/g,'*'))

没有脂肪箭头

功能隐藏 (str) {
返回 str.replace (/\ d {1,5}/,函数 (x) {
返回 x.replace (/。/g,'*')
})
}

第5个答案

您可以替换第一个字符,并获取字符串的剩余部分。

Const replaceFirst5 = s => '*'。重复 (数学。最小 (5,s。长度)) s。切片 (5);

第6个答案

你可以使用replace and repeat

^.{1,5}
  • ^-字符串的开始
  • .{1,5}-匹配除新行之外的任何内容,至少一次最多 5 次
让 replaceFirst5 = (str) => {
返回 str.replace (/。{1,5}/,m => "X"。重复 (长度))
}

第7个答案

假设这些数字被包装在一个名为 “数字” 的类中

JQuery 代码

$。每个 ('。数字',函数 () {
让 num = $ (这个)。文本 ();
Var j = "";
For (让 i = 0; i

相关问题

如何从异步调用返回响应? 循环中的 JavaScript 闭包--简单的实际示例 如何从异步调用返回响应? 动态创建的元素上的事件绑定? JavaScript 将前 5 个字符替换为 * 浏览器后退/下一步按钮在标签之间导航 RegEx 匹配打开的标记, 但 XHTML 独立标记除外 根据字母计数检索括号缩写的定义 如何找到双字母并用三个字母替换?