如果有两个句点(..)替换为一个句点(。),如果有四个或更多句点(....)则将其替换为三个(...)。
要求两个选项同时工作
我试试这种方式
var fieldval = test..
fieldval = fieldval.replace(/\.{2}/g, '.')
输出
test. (with single dot)
var fieldval = test.....
fieldval = fieldval.replace(/\.{4,}/g, '...');
输出
test... (with three dot)
这两个选项应该一起工作。 提前谢谢
答案 0 :(得分:2)
尝试
fieldval = fieldval.replace(
/\.{2,}/g,
function(val){
return val.length == 2 ? '.' : '...';
}
);
演示:Fiddle
答案 1 :(得分:1)
如果您想要一个正则表达式,可以使用
input.replace(/([^.]|^)(?:([.])[.]|([.]{3})[.]+)(?![.])/g, "$1$2$3");