So erzwingen Sie das Eingabefeld so, dass Nummern nur mit JavaScript eingeben werden?

So erzwingen Sie das Eingabefeld so, dass Nummern nur mit JavaScript eingeben werden?
Die Einschränkung des Benutzers auf nur numerische Eingabewerte ist äußerst wichtig, insbesondere wenn Daten in einem Formular aufgenommen werden. Es gibt zahlreiche Beispiele, bei denen die Einschränkung des Benutzers, falsche Eingaben zu vermeiden.

In HTML kann das Eingabetik Typ Eigentum zum Nummer oder zu Tel. Es wird jedoch ein wenig schwierig sein, es durch JavaScript zu tun.

Schritt 1: Das HTML -Dokument

Erstellen Sie eine HTML -Datei und richten Sie in dieser Datei ein Eingabefeld und einen Text ein, der dem Benutzer mithilfe der folgenden Zeilen in das Textfeld eingeben soll:


Geben Sie hier Zahlen ein



In diesen Zeilen:

  • Die OnKeypress -Eigenschaft von Eingabe -Tag wurde auf den Rückgabewert der Return festgelegt überprüfe Nummer() Methode
  • Die OneKeypress -Eigenschaft wird auf einem bestimmten Ereignis ausgeführt, und dieses Ereignis ist zufällig eine Schlüsselpresse. Geben Sie also das Ereignis innerhalb der überprüfe Nummer() Methode auch.

Durch Ausführen der HTML -Webseite werden jetzt das folgende Ergebnis im Browser angezeigt:

Derzeit können alle Arten von Zeichen in diesem Textfeld geschrieben werden:

Dies wird sich jedoch im nächsten Abschnitt ändern.

Schritt 2: Richten Sie den JavaScript -Code ein

In der JavaScript -Datei oder in der Tag, beginnen Sie zunächst die als als benannte Funktion überprüfe Nummer():

Funktion checkNumber (Ereignis)
// Die kommenden Zeilen kommen hier rein

In dieser Funktion ist das erste, was den ASCII -Code der Tastendrucke mit der “erhalten“ abgerufen wirdFall" Variable:

var acode = Ereignis.welche ? Fall.welches Event.Schlüsselcode;

Wenn der ASCII -Code danach nicht von Nummer ist, kehren Sie zurück FALSCH Ansonsten in das Eingabefeld true: true:

if (acode> 31 && (acode < 48 || aCode > 57)) falsch zurück;
zurückkehren;

Der komplette Code -Snippet lautet wie:

Funktion checkNumber (Ereignis)
var acode = Ereignis.welche ? Fall.welches Event.Schlüsselcode;
if (acode> 31 && (acode < 48 || aCode > 57)) falsch zurück;
zurückkehren;

Damit sind Sie mit der Einrichtung des JavaScript -Teils fertig.

Schritt 3: Testen des Eingangsfeldes

Nachdem Sie mit den Schritten 1 und Schritt 2 durchgeführt wurden, führen Sie einfach das HTML -Dokument aus und setzen Sie Werte in das Eingabefeld ein und beobachten Sie sein Verhalten:

Es erlaubt jetzt nur, dass Zahlen darin geschrieben werden und einen anderen Charakter ignoriert werden

Abschluss

So beschränken Sie den Benutzer, nur numerische Zeichen in eine Eingabe mit JavaScript einzugeben. Rufen Sie dann in diesem Fall eine Funktion auf jeder Taste auf, die in diesem Eingabefeld gedrückt wird, und vergleichen Sie den ASCII -Code der Taste, die gegen die ASCII -Codes der numerischen Werte gedrückt wurde. Lassen Sie basierend auf diesem Vergleich die Schlüssel in das Eingabefeld eingegeben werden.