Sekarang ada persyaratan seperti yang ditunjukkan di bawah ini:
Manajer produk mengatakan bahwa nomor kartu hanya dapat memasukkan nomor (spasi di tengah ditambahkan oleh format dan juga diimplementasikan oleh JS). Terkadang suara muncul di pikiran saya. Ada apa? Saya hanya menambahkan type = angka. Bahkan, saya menemukan bahwa gambarnya rusak. Saya tidak akan mengatakan bahwa akan ada tanda atas dan bawah setelah tipe = angka (meskipun dapat dibunuh dengan CSS), tetapi jenis ini mendukung metode input ilmiah, yang merupakan titik desimal dan E yang dapat menjadi input, jadi saya hanya dapat menggunakan metode lain. Kemudian, saya ingin menggunakan pencarian untuk membunuhnya jika saya memasukkan non-nomor, tetapi saya masih bisa memasukkannya, dan idenya dipanggil kembali. Jadi saya akhirnya mengadopsi metode kontrol input keyboard. Ini sebenarnya sangat sederhana, kodenya adalah sebagai berikut:
var isNumber = function (keycode) {// number if (keycode> = 48 && keycode <= 57) {return true; } // keyboard numerik kecil if (keycode> = 96 && keycode <= 105) {return true; } // tab backspace, del, tombol panah kiri dan kanan if (keycode == 9 || keycode == 8 || keycode == 32 || keycode == 46 || keycode == 37 || keycode == 39) {return true; } return false}Kontrol input keyboard yang disebut adalah untuk menentukan jenis input berdasarkan input kode keyboard, yaitu, untuk mendapatkan nilai unicode dari tombol keyboard yang ditekan. Kode kunci yang sesuai dengan setiap tombol pada keyboard diperbaiki. Ada banyak tabel perbandingan di internet, jadi saya tidak akan mempostingnya di sini. Setiap kali tombol menekan memantau kode kunci yang sesuai dan kemudian membandingkan apakah itu legal. Perlu dicatat bahwa yang legal di sini bukan hanya angka -angka, tetapi juga tab atas, bawah, kiri dan kanan dan tombol panah ruang angkasa. Instruksi operasi pengguna tidak dapat dinonaktifkan. Bagaimana dengan itu, terlihat sangat sederhana.