3

現在、私のコードは追加のスペースを削除できますが、新しい行が台無しになっているようです。入力に複数の区切りがある場合は、すべての改行が削除されます。例えば:

入力:

abc    xyz

test

出力:

abc xzy test

理想的には、出力を次のようにしたいと思います。

abc xyz

test

コード:

var input   = $('textarea#input');
var output  = $('textarea#output');

input.bind('keyup', function() {
    output.val(input.val().replace(/(\s){2,}/g, ' '));
});

jsFiddle http://jsfiddle.net/rdvR7/3/

タブも残したいのですが、使い方がわかりません\t

4

2 に答える 2

4

文字クラスを使用して、スペースのみを置き換えることができます。

 output.val(input.val().replace(/[ ]{2,}/g,' '));

これはスペースのみを検索し、タブ文字や改行は検索しません。括弧内に任意の文字の組み合わせを入れることもできます

 output.val(input.val().replace(/[ \t]{2,}/g,' '));

これにより、すべてのスペースとすべてのタブ文字が検出されます。

于 2013-03-24T04:06:57.633 に答える
0

スペース文字(正規表現でそれ自体を表します)を置き換えるだけです:

output.val(input.val().replace(/ {2,}/g, ' '));
于 2013-03-24T04:17:27.500 に答える