gpt4 book ai didi

JavaScript 替换字符串中的多个数字

转载 作者:行者123 更新时间:2023-11-30 08:55:14 25 4
gpt4 key购买 nike

我试图制作一个 JavaScript 函数,用一个更大的数字替换一个数字,但我无法让它工作。

我已经尝试了很多事情,但都没有成功。

<script type="text/javascript">
function change(text) {
var array = {"1":"6", "2":"7", "3":"8", "4":"9", "5":"0", "6":"1", "7":"2", "8":"3", "9":"4", "0":"5",}

for (var val in array)
text = text.replace(new RegExp(val, "g"), array[val]);

return text;
}

document.write(change('123456789'));
</script>

这将返回 123401234 但它应该返回 6789012345

我也试过这个:

function change_new(text) { text = text.replace(/1/g, "6").replace(/2/g, "7").replace(/3/g, "8").replace(/4/g, "9").replace(/5/g, "0").replace(/6/g, "1").replace(/7/g, "2").replace(/8/g, "3").replace(/9/g, "4").replace(/0/g, "5"); return text; }

同样的结果。

我做错了什么?

最佳答案

您不能使用多个替换电话,否则您将替换已替换的号码。使用函数替换代替:

var numbers = {"1": "6", "2": "7", ...};
text = text.replace(/\d/g, function(match) {
return numbers[match[0]]; // [0] is the entire matched text, which is one digit
});

关于JavaScript 替换字符串中的多个数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14094258/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com