将双周期替换为单个,如果4个或更多替换为三个

时间:2013-06-24 08:59:50

标签: javascript jquery regex

如果有两个句点(..)替换为一个句点(。),如果有四个或更多句点(....)则将其替换为三个(...)。

要求两个选项同时工作

我试试这种方式

var fieldval = test..
fieldval = fieldval.replace(/\.{2}/g, '.')

输出

test. (with single dot)

var fieldval = test.....
fieldval = fieldval.replace(/\.{4,}/g, '...');

输出

test... (with three dot)

这两个选项应该一起工作。 提前谢谢

2 个答案:

答案 0 :(得分:2)

尝试

fieldval = fieldval.replace(
    /\.{2,}/g, 
    function(val){ 
        return val.length == 2 ? '.' : '...';
    }
);

演示:Fiddle

答案 1 :(得分:1)

如果您想要一个正则表达式,可以使用

input.replace(/([^.]|^)(?:([.])[.]|([.]{3})[.]+)(?![.])/g, "$1$2$3");