正则表达式查找并替换更改的内容

时间:2016-04-21 18:15:32

标签: javascript regex

我需要在javascript中找到数字并将其替换为取决于该数字的值。

源字符串:

abc20.0xxxxxx30xxx

正则表达式必须找到double,将其除以5并替换该值。

预期结果应如下所示:

abc4.0xxxxxx6.0xxx

非常感谢

1 个答案:

答案 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;
&#13;
&#13;

只需运行上面的代码段,即可查看该功能在您键入时如何转换文字。

replace方法与正则表达式和call back function一起使用,每个匹配都会调用它。