1

ピリオドが 2 つ (..) ある場合は 1 つ (.) に置き換え、ピリオドが 4 つ以上ある場合 (....) は 3 つ (...) に置き換えます。

両方のオプションが同時に機能する必要がある

私はこの方法を試します

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

出力

test. (with single dot)

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

出力

test... (with three dot)

両方のオプションが一緒に機能するはずです。前もって感謝します

4

2 に答える 2

2

試す

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

デモ:フィドル

于 2013-06-24T09:01:56.253 に答える
1

単一の正規表現が必要な場合は、使用できます

input.replace(/([^.]|^)(?:([.])[.]|([.]{3})[.]+)(?![.])/g, "$1$2$3");
于 2013-06-24T09:07:08.740 に答える