0

当用户不小心再输入两个小数点时,我只想使用最右边的小数点。

所以:1234..55 等于 1234.55

打错字很容易,但我没有看到任何好的代码来处理这个在 Javascript

4

2 回答 2

3

找到最后一个句点,在那里拆分字符串,从第一个字符串中删除句点,然后再次将它们放在一起:

var index = input.lastIndexOf('.');
if (index != -1) {
    input = input.substr(0, index).replace(/\./g, '') + input.substr(index);
}

演示:http: //jsfiddle.net/Guffa/3jBb5/

于 2012-10-17T12:02:33.387 回答
0

您可以简单地替换多次出现的 . (点)单。(点)

通过这种方式,它将能够处理更多的案件。

var str='1234...55';
var n=str.replace(/(\.)+/,".");
alert(n);

演示:http: //jsfiddle.net/DxKx7/

于 2012-10-17T12:21:01.410 回答