8

私はこれをたくさん検索しましたが、私がやろうとしていることの具体的な例を見つけることができません. 基本的に、テキストボックスの名前(idではありません)でテキストボックスの値を取得したいと思います。次に、先頭または末尾だけでなく、テキスト内のスペースもすべて削除したいと思います。たとえば、次の html コードの場合:

<INPUT style="TEXT-ALIGN: right;" onkeyup="fieldEdit();" onchange="fieldChange();" NAME="10010input" VALUE="4 376,73" readonly >

私はこのJavaScriptを持っています:

var val = document.CashSheet.elements["10010input"].value; 
val2 = val.replace(<someregex>, '');
alert(val2);

しかし、すべてのスペースを削除する多くの利用可能な正規表現を試しましたが、すべて先頭と末尾のスペースのみを削除しているように見えます. テキストフィールドの内容からスペースを削除するためのこの通常の正規表現を調べたところ、機能していません。これは、Web サーバーのポーランド語にローカライズされた設定に入力されているためだと思います。いわば「ポーランドのスペース」でキャプチャする必要がある文字/正規表現は何ですか。アスキーでは20と表示されますが、ほとんどの人がスペースに対して提案している正規表現はそれをキャプチャしません。

4

7 に答える 7

13

document.getElementsByNameページ内の他の要素に同じ名前がない限り、フォームを通過する必要なく要素を取得するために使用できます。すべてのスペースを置き換えるには、要素値のreplace()メソッドでグローバル フラグを設定した正規表現を使用します。

var el = document.getElementsByName("10010input")[0];
var val = el.value.replace(/\s/g, "");
alert(val);
于 2010-10-18T15:37:30.137 に答える
6

使用している正規表現を「一般化」する必要があるため、最初の一致だけでなくすべての一致に適用されます。このような:

val = val.replace(/\s/g, '')

「一般」になるように正規表現を変更する「g」に注意してください。

于 2010-10-18T15:37:37.950 に答える
5

これは、スペースを置き換えるために使用する関数です。

function removeSpaces(val) {
   return val.split(' ').join('');
}
于 2010-11-19T18:47:20.260 に答える
4

Another, more jQuery'ish option:

$(".stripspaces").keyup(function() {
    $(this).val($(this).val().replace(/\s/g, ""));
});
于 2013-02-06T15:35:36.097 に答える
0

このjQueryメソッドを使用できますhttp://api.jquery.com/jQuery.trim/
val = $.trim(val);またはval = jQuery.trim(val);

于 2010-10-19T08:27:06.570 に答える