我需要在javascript中找到数字并将其替换为取决于该数字的值。
源字符串:
abc20.0xxxxxx30xxx
正则表达式必须找到double,将其除以5并替换该值。
预期结果应如下所示:
abc4.0xxxxxx6.0xxx
非常感谢
答案 0 :(得分:-1)
以下是如何做到这一点:
function divideByFive(s) {
return s.replace(/-?\d+(\.\d+)?/g, function (a) {
a = parseFloat(a) / 5;
return a.toFixed(1);
});
}
// I/O
var inp = document.querySelector('input');
var div = document.querySelector('div');
inp.oninput = function () {
// Get input
var s = inp.value;
// Transform
var res = divideByFive(s);
// Output
div.textContent = res;
}
inp.oninput();

<input value="abc20.0xxxxxx30xxx">
<div></div>
&#13;
只需运行上面的代码段,即可查看该功能在您键入时如何转换文字。
replace
方法与正则表达式和call back function一起使用,每个匹配都会调用它。