2013-06-24 30 views
1

如果有兩個句點(..)替換爲一個(。),並且如果有四個或更多句點(....)將其替換爲三個...)。將雙週期替換爲單個,如果4個或更多替換爲三個

同時需要選擇在同一時間

工作我嘗試這樣

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

輸出

test. (with single dot) 

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

輸出

test... (with three dot) 

兩個選項應共同努力。 由於事先

回答

1

如果你想有一個單一的正則表達式,你可以使用

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

由於它的工作 – user2349035

2

嘗試

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

演示:Fiddle