Wie man nur numerische (0-9) in HTML-Eingabefeld mit jQuery zulassen?
Ich erstelle eine Webseite, in der ich ein Textfeld habe, in dem ich nur numerische Zeichen wie (0,1,2,3,4,5...9) 0-9 zulassen möchte.
Wie kann ich dies mit jQuery tun?
866
3
Hinweis: Dies ist eine aktualisierte Antwort. Die Kommentare unten beziehen sich auf eine alte Version, die mit Keycodes herumspielte.
jQuery
Versuchen Sie es selbst [auf JSFiddle][1].
Es gibt keine native jQuery-Implementierung dafür, aber Sie können die Eingabewerte eines Textes
<input>
mit dem folgendeninputFilter
-Plugin filtern (unterstützt Copy+Paste, Drag+Drop, Tastenkombinationen, Kontextmenü-Operationen, nicht-tippbare Tasten, die Caret-Position, verschiedene Tastatur-Layouts und [alle Browser seit IE 9][2]):Mit dem Plugin
inputFilter
kann man nun einen Eingabefilter installieren:Hier sind einige weitere Beispiele für Eingabefilter, die hilfreich sein könnten:
Quelle: http://snipt.net/GerryEng/jquery-making-textfield-only-accept-numeric-values
Sie können diese JavaScript-Funktion verwenden:
Und Sie können sie wie folgt an Ihr Textfeld binden:
Ich verwende die obige Methode in der Produktion, und sie funktioniert perfekt und ist browserübergreifend. Außerdem ist es nicht von jQuery abhängig, so dass Sie es mit Inline-JavaScript an Ihr Textfeld binden können: