HTML-Eingabe, die nur Zahlen und das + -Symbol @ akzeptie
Ich versuche, eine benutzerdefinierte Texteingabe für Telefonnummern zu erstellen, die nur Zahlen und das Pluszeichen (+) akzeptiert. Alle anderen Zeichen müssen verworfen und nicht auf dem Feld angezeigt werden.
Ich versuche dies mit einem Event-Handler (Onkeydown / Onkeypress) und verwerfe Eingaben, die anderen Tasten entsprechen. Ich kann jedoch keine browserübergreifende Methode finden, um dies zu tun. Hier sind die Ansätze, die ich ausprobiert habe und die nicht funktionieren:
Unter Verwendung des Ereignisses onkeypress und unter event.key, um herauszufinden, welche Taste gedrückt wurde: Funktioniert in Chrome nicht (siehehttp: //caniuse.com/keyboardevent-ke). Gibt es eine browserübergreifende Problemumgehung?
Verwenden Sie das Ereignis onkeycode und schauen Sie sich event.keyCode an: funktioniert nicht, wenn Sie mehrere Tasten drücken müssen, um ein Zeichen zu drucken (für ein englisches Tastaturlayout müssen Sie beispielsweise die Umschalttaste und = drücken, um + zu geben). Außerdem können Zeichen wie! @ # $% ˆ & * () angezeigt werden, wenn Sie die Umschalttaste und eine Zahl drücken. (Dies ist der Ansatz inJavaScript-Schlüsselcode nur Nummer und Pluszeichen zulassen, aber es hilft mir nicht viel;))
Verwenden Sie das HTML-Musterattribut: das scheint die Leute nicht wirklich davon abzuhalten, zu schreiben, worauf sie Lust haben.
Vielen Dank