2012-03-07 1 views
0

このprevious questionでは、親子帳とその中のテキストを削除する方法を尋ねました。このガット:入力フィールドのカッコを削除すると、それらの間のテキストとそれらの前のスペースは削除されますか?

$(this).val($(this).val().replace(/\(.+\)/, '')); 

をので、この:food (454)はこのようになります。food

これは正常に動作しますが、今、私は括弧とそれらの間のテキストを削除するだけでなく、括弧の前にスペースを削除したいです。上記の例では

、私が話しているスペースは、それはそれを達成できるように、コードを変更する方法文字d(

の間のスペースでしょうか?

+0

スペースを式に追加します。 –

+0

オービットの@ Lightness Races Duh!ただそれを理解した。 – alexchenco

答えて

2

jqueryはまったく必要ありません。 @AnthonyGristへ

this.value = this.value.replace(/\s+\(.+?\)/g, ''); 

Live demo

クレジット!

+0

ありがとう!申し訳ありませんが、このシナリオもあることを忘れています: 'tag1 tag1(23)'。今、あなたのコードはこれを行います:それに 'tag1'と私はこれを探しています:' tag1 tag1'。 – alexchenco

+2

'\\'(バックスラッシュ)を使用して、正規表現の括弧をエスケープする必要があります。 –

+0

@AnthonyGrist。あなたが正しい!しかし、それは動作しません、なぜですか? [fiddle]を参照してください。(http://jsfiddle.net/8VS9B/5/) – gdoron

0
$.trim($(this).val($(this).val().replace(/\(.+\)/, ''))); 
+0

奇妙なことに、何らかの理由で私はまだその入力フィールドにそのスペースを取得しています。 – alexchenco

+1

なぜ値を取得するためにjqueryを使用していますか? 'this.value'はあなたに価値をもたらします! – gdoron

+1

@ubercooluk答えにコードを追加する場合は、フォーマットの悪いコードをコメントに入れるのではなく、答えを編集します。 –

関連する問題