38

最大3文字の入力が好きです。Firefox ではすべて正常に動作します。入力内に 3 つの数字しか書き込めませんが、サファリではたくさんの数字を書き込めます。

これを使用して、両方のブラウザーでテストできます: http://flowplayer.org/tools/demos/validator/custom-validators.htm

今のところ、検証プラグインでそれを実現しましたが、興味があるだけで、なぜこれが機能しないのか知りたいですか?

編集:

これで動作しています

<input class="required" id="field" type="text" maxlength="3" pattern="([0-9]|[0-9]|[0-9])" name="cvv"/>

回答:テキスト要素内に文字が入らないようにするにはどうすればよいですか?

4

8 に答える 8

35

私はそれを達成しました:

<input class="required" id="field" type="text" maxlength="3" pattern="([0-9]|[0-9]|[0-9])" name="cvv"/>

そしてJavaScriptで私は文字を防ぎました:

$("#myField").keyup(function() {
    $("#myField").val(this.value.match(/[0-9]*/));
});
于 2012-02-21T06:56:35.093 に答える
25

以下のように、type="text" と oninput を使用してみてください。これにより、数字のみが許可されます。

<input type="text" maxlength="3" oninput="this.value=this.value.replace(/[^0-9]/g,'');" id="myId"/>
于 2016-11-24T16:31:45.430 に答える
5

onKeyDown の長さを使用して制限することができます

<input type="number" onKeyDown="if(this.value.length==10 && event.keyCode!=8) return false;">

ハッピーコーディング:)

于 2017-12-27T13:17:29.217 に答える
4

基本的に、 MaxプロパティとMinプロパティは Safari ブラウザではまだサポートされていません。構文に欠陥は見られません。Safari バージョン 1.3 以降を使用していますか? それともそれ以下?maxlengthプロパティは safari 1.3+ からサポートされているためです。

于 2012-02-21T05:28:18.020 に答える