Nur float-Wert mit Punkt (nicht Komma) in den input jQuery
Möchte ich haben immer nur float-Wert mit Punkt (nicht Komma) in meine Eingaben.
<input type="text" class="dot"> <br />
<input type="text" class="dot"> <br />
<input type="text" class="dot"> <br />
$('.dot').keydown(function(){
$(this).val($(this).val().toString().replace(/\,/g, '.'));
})
diese ersetzen, Komma zu Punkt, aber das sollte nicht sein, haben > 1 Punkt und die anderen... Dies sollte nur akzeptieren, [0-9] und .
wenn ich geben Sie einen anderen Wert als [0-9] und . dann sollte dieser Wert entfernen - ".
Wie kann ich es machen?
InformationsquelleAutor Tony Evyght | 2012-05-09
Du musst angemeldet sein, um einen Kommentar abzugeben.
Halli Hallo demo http://jsfiddle.net/9Ry9t/ oder http://jsfiddle.net/ZtkBW/2/ oder http://jsfiddle.net/HJnLD/
Bisschen anders aus als deine Lösung, aber wenn Sie daran interessiert, zu verwenden, wird es nicht zulassen, dass jede
characters
zu geben in das Textfeld ein.Die Lösung ist für die vollständige Validierung für zahlen und für Schwimmer wird es nicht nehmen (dot)
code-Beispiel
Halli Hallo @TonyEvyght nur um zu bestätigen, Mann, den Sie nicht wollen, backspace und delete zu arbeiten, in der text-box rechts? denn Sie arbeiten im moment, prost!
in Firefox nicht funktioniert, aber im chrome funktioniert... Im Opera auch nicht funktioniert
Hmm komisch, habe versucht in safari funktioniert es! 🙂 hmm kannst du mir einen gefallen tun sehen, was darauf aufmerksam machen, bekommen Sie für die löschen-und Rücktaste: jsfiddle.net/ZtkBW/9 "löschen" 8, keine Panik, wenn dot nicht wie ich mich geändert habe sich die Veranstaltung von
key press
zukeydown
nur um zu testen warum es nicht funktioniert in dem browser, den Sie erwähnt. hoffe, das hilft, cheerios!danke, ich akzeptiere die Antwort (ich kann Sie nicht hinzufügen +1). könnten Sie hinzufügen, löschen und Rücktaste, um das Beispiel so, dass war es richtig?
InformationsquelleAutor Tats_innit
Hier ist eine wirklich schreckliche if-Anweisung zu umgehen, ist die Tatsache, dass
parseFloat
können, ermitteln Sie die erste Zahl, die es findet, in einer string-und dieindexOf
nur gibt den ersten index eines Zeichens (nicht in allen Indizes).Wäre es wohl klüger sein, um den Wert zu speichern der
$(this).val()
in einer Variablen, aber das überlasse ich Ihnen als übung für den Leser. (nicht mal jetzt)InformationsquelleAutor Elliot Bonneville
Können Sie versuchen, diese :
http://jsfiddle.net/ZtkBW/5/
Ich verwendet, keyup, um zu vermeiden, dass der Charakter, wenn es ungültig ist.
Wie wissen in den Kommentaren, ich auch verwendet, focusout.
Ich nicht analysieren, wenn das zuletzt eingegebene Zeichen'.', weil Sie nicht in der Lage, geben Sie einen Dezimalwert.
Ok, ich habe einige änderungen gültig auch auf focusout(): Blick auf die JsFiddle. jsfiddle.net/ZtkBW/20
InformationsquelleAutor Feugy
Wie es sich Verhalten
InformationsquelleAutor Denis Ermolin
Ich bin mir nicht wirklich sicher, was Sie tun möchten
aber wie über dieses
InformationsquelleAutor arahaya
Ich hatte das gleiche problem - brauchte eine text-Eingabe zu akzeptieren, nur eine ganze Zahl oder eine dezimale Eingabe (nur ein .)
Hatte zu mischen und ein paar Lösungen, aber diese funktioniert jetzt:
InformationsquelleAutor S R
Versuchen Sie dies :
InformationsquelleAutor Nilesh Bavliya