6

Javascript で (入力タグで) ユーザー入力を制限する例を誰かに教えてもらえますか?

入力 (type="text") を数値のみを受け入れるように設定すると、数値以外の他の入力は無視されます...

数字の入力 (zip、クレジット カード、お金、値、スコア、日付など) に便利だと思います。また、次のようなパターンで入力を作成する方法を教えてください。

日付を入力してください:
|-----------------|
| | / / |
|-----------------|

PS: WebForms 2.0 は将来これをサポートすると聞きました... (Acid 3 準拠のブラウザーですか?)

入力タイプ="日付"
入力タイプ="時刻"
入力タイプ="数字"
入力タイプ="お金"

しかし、それは未来からのニュースに過ぎませんでした:D

4

3 に答える 3

8

これはあなたを助けるかもしれません。

http://www.w3schools.com/jsref/event_onkeydown.asp

<html>
<body>

<script type="text/javascript">
function noNumbers(e)
{
var keynum;
var keychar;
var numcheck;

if(window.event) // IE
{
keynum = e.keyCode;
}
else if(e.which) // Netscape/Firefox/Opera
{
keynum = e.which;
}
keychar = String.fromCharCode(keynum);
numcheck = /\d/;
return !numcheck.test(keychar);
}
</script>

<form>
<input type="text" onkeydown="return noNumbers(event)" />
</form>

</body>
</html>
于 2009-03-18T09:30:03.253 に答える
5

この質問にはすでに受け入れられた回答がありますが、これにはより良い解決策があると思います。キーダウンなどで自分で実装する必要はありません。そのためのライブラリがあります。彼らはあなたが説明したテクニックを「入力マスク」と呼んでいます。このjQueryプラグインをチェックしてください。それはまさにあなたが望むものです.

于 2009-04-07T07:42:38.013 に答える
3

フォームの送信時に、jQuery Validate (または JS フレームワークが提供するもの) などの特定のライブラリを使用できます。もう 1 つの解決策は、keyUp および blur イベントの値を制御することですが、不適切な形式のエントリをどう処理するかを決定するのが非常に面倒になる可能性があります (特に形式が少し複雑な場合、つまり不要な文字だけではない場合)。したがって、全体として、送信時にクライアント側で制御することをお勧めします。

于 2009-03-18T09:24:02.020 に答える