7

私は単純なフォームを作成し、番地のテキストボックスを用意しています...最初に入力された値が数字かどうかを確認するだけです。

どうすればいいですか?

if(document.forms[0].elements[2].value.

これですべてですが、最初の文字のみをチェックするために何を追加すればよいかわかりません。

4

3 に答える 3

7

これは単に使用できますisNaNisNaN次のように、 が数値ではないかどうかをチェックする通常の使用法ではなく、前に感嘆符を付けて、それが数値であるかどうかをチェックします。

var val = document.forms[0].elements[2].value;
if (!isNaN(val.charAt(0))){ //If is a number
  //Stuff
}

これは文字列としての数値にも当てはまるため、引用符などについて心配する必要があります。

于 2014-11-18T13:10:20.007 に答える
1

if (document.forms[0].elements[2].value.match(/^\d+/))フィールドの先頭が数字で構成されているかどうかを確認するために使用できます。

次の場合に一致します。

0 - valid
1 - valid
1a - valid
1 a - valid
1234567 - valid
a - invalid
a1 - invalid

文字通り、数字で始まるものすべて。

その機能を次のように拡張できます。if (document.forms[0].elements[2].value.match(/^\d+ +.+/))

この形式では、数字と 1 つまたは複数のスペースの後に何かが続く必要があります。

0 - invalid
1 - invalid
1(space) - invalid
1 1 - valid
1 a - valid
12345 abcdef - valid

正規表現の詳細を読んで、より複雑なチェックを詳しく説明してください。

ただし、すべての住所に数字が含まれているわけではなく、世界のほとんどの国ではこの形式の住所を使用していないことを最初に覚えておいてください。アドレス欄については、ユーザーが希望する形式で記述できるように、開いたままにしておくべきだと思います。

于 2013-04-01T04:56:09.190 に答える