これで、下の図に示すように要件があります。
プロダクトマネージャーは、カード番号は入力番号のみを入力できると述べました(中央のスペースは形式によって追加され、JSによっても実装されています)。時々私の心に音が現れます。どうしたの? type = numberを追加するだけです。実際、図面が壊れていることがわかりました。タイプ=数字の後に上下のマークがあるとは言いませんが(CSSで殺すことはできますが)、このタイプは入力できる小数点とEである科学的入力方法をサポートしているため、他の方法のみを使用できます。後で、私は番号以外を入力した場合、検索を使用して殺したかったのですが、それでも入力することができ、アイデアは呼び戻されます。そこで、ついにキーボード入力制御方法を採用しました。実際には非常に単純で、コードは次のとおりです。
var isNumber = function(keycode){//番号if(keycode> = 48 && keycode <= 57){return true; } //小さな数字キーボードif(keycode> = 96 && keycode <= 105){return true; } //タブバックスペース、del、左および右矢印キーif(keycode == 9 || keycode == 8 || keycode == 32 || keycode == 46 || keycode == 37 || keycode == 39){return true; } falseを返す}いわゆるキーボード入力コントロールは、キーボードのキーコード入力に基づいて入力のタイプを決定することです。つまり、キーボードキーのユニコード値を取得します。キーボード上の各キーに対応するキーコードが固定されています。インターネットには多くの比較テーブルがあるので、ここには投稿しません。キープレスが対応するキーコードを監視するたびに、それが合法かどうかを比較します。ここの法的なものは、数字だけでなく、上、下、左と右のタブ、スペースアローキーでもあることに注意する必要があります。ユーザー操作の手順を無効にすることはできません。それはどうですか、それはとてもシンプルに見えます。