Jetzt gibt es eine Anforderung, wie unten gezeigt:
Der Produktmanager sagte, dass die Kartennummer nur Nummern eingeben kann (die Leerzeichen in der Mitte werden vom Format hinzugefügt und auch von JS implementiert). Manchmal erscheint ein Geräusch in meinem Kopf. Was ist los? Ich füge einfach Typ = Nummer hinzu. Tatsächlich stellte ich fest, dass die Zeichnung gebrochen ist. Ich werde nicht sagen, dass es nach Typ = Zahl eine obere und untere Marke geben wird (obwohl er mit CSS getötet werden kann), aber dieser Typ unterstützt wissenschaftliche Eingabemethoden, bei denen es sich um Dezimalpunkte handelt, und E, die eingibt, sodass ich nur andere Methoden anwenden kann. Später wollte ich die Suche nutzen, um sie zu töten, wenn ich in eine Nichtnummer eingetreten bin, aber ich kann sie trotzdem eingeben, und die Idee wird zurückgerufen. Deshalb habe ich schließlich die Tastatureingabemethode übernommen. Es ist eigentlich sehr einfach, der Code ist wie folgt:
var isNumber = function (keyCode) {// nummer if (keyCode> = 48 && keyCode <= 57) {return true; } // Kleine numerische Tastatur if (KeyCode> = 96 && Schlüsselcode <= 105) {return true; } // Registerkarte Backspace, Del, links und rechter Pfeiltasten if (KeyCode == 9 || KEYCODE == 8 || KEYCODE == 32 || KEYCODE == 46 || KEYCODE == 37 || KEYCODE == 39) {return true; } return false}Die sogenannte Tastatureingabedeuerung besteht darin, den Eingangstyp basierend auf der Tastaturcode-Eingabe auf der Tastatur zu bestimmen, dh den Unicode-Wert der gedrückten Tastaturtaste zu erhalten. Der TasteCode, der jeder Taste auf der Tastatur entspricht, wird festgelegt. Es gibt viele Vergleichstabellen im Internet, daher werde ich sie hier nicht veröffentlichen. Jedes Mal, wenn der Taste drückt, überwachen Sie den entsprechenden Schlüsselcode und vergleichen Sie dann, ob er legal ist. Es ist zu beachten, dass die legalen hier nicht nur die Zahlen, sondern auch die Auf-, Ab-, Linken und rechten Registerkarten und Space -Pfeil -Tasten sind. Benutzeroperationsanweisungen können nicht deaktiviert werden. Wie wäre es damit, es sieht sehr einfach aus.