erlaubt Eingabe nur für die Fließkommazahl

7

Ich habe pain-time, wenn ich Eingaben mache, die nur die Fließkommazahl mit jquery library erlauben. Mein Code kann nicht verhindern "." Wenn es zum ersten Mal ankommt, kann mir jemand helfen, dieses Problem zu lösen?

%Vor%     
moc4yu 14.04.2012, 04:00
quelle

6 Antworten

7

Ich filtere die Eingabe der ersten Position mit dem jQuery Caret Plugin. Wenn der Punkt eingegeben wurde, ist es bereits spät, um zu überprüfen, wo er platziert wurde. Ich habe versucht, nach dem Punkt zu suchen und dann den Punkt zu löschen, aber er sieht nicht gut aus.

jQuery Caret-Plugin: Ссылка

Was ich getan habe:

Ссылка

Probieren Sie es aus:)

%Vor% %Vor%
    
Tina CG Hoehr 14.04.2012, 04:46
quelle
14

Ich benutze dies - funktioniert für Tastatureingabe oder Kopieren und Einfügen

%Vor% %Vor%

Erläuterung:

  • Der erste Regex ersetzt alles, was keine Zahl oder Dezimalzahl ist.
  • Zweiter Regex entfernt jede Instanz einer zweiten Dezimalstelle.
billynoah 31.08.2015 21:46
quelle
3

Regulärer Ausdruck wäre auch meine Empfehlung. Wenn der Wert als Zahl und nicht als Zeichenfolge übergeben wird, können Sie ihn mit .toString in eine Zeichenfolge ändern und mit einem regulären Ausdruck validieren. Zum Beispiel:

%Vor%

Die obige Regex wird übereinstimmen, wenn der übergebene Wert eine Fließkommazahl ist. Es akzeptiert sowohl negative als auch positive Zahlen. Wenn Sie nur positive Zahlen akzeptieren möchten, entfernen Sie einfach das '-?' aus dem Ausdruck. Es wird auch fehlschlagen, wenn der Wert einfach Null ist ohne Dezimalpunkt. Wenn Sie Null akzeptieren möchten, fügen Sie es einfach als Bedingung zur 'if' Anweisung hinzu.

Sie können die obige Validierung und ein onchange-Ereignis verwenden, um zu verhindern, dass der Benutzer eine Nicht-Flot-Nummer eingibt.

    
Rodney 14.04.2012 04:31
quelle
1

Warum nicht Regular Expression

verwenden? %Vor%

Code lesen und hier testen ..

    
Rami Shareef 14.04.2012 04:09
quelle
0

Hier ist meine Lösung, arbeitet auch mit negativen Zahlen ( Geige )

%Vor%     
dino 08.10.2015 16:09
quelle
0

Sie können die folgende Methode verwenden, die im Ereignis onkeypress aufgerufen wird. Unten ist das HTML-Snippet gefolgt von der JS-Methode:

input type="text" onkeypress ="Rückgabe isNumberKey (event)" id="floor"

%Vor%

Hinweis : Der obige Code stellt außerdem sicher, dass Sie nur eine Dezimalzahl in die Eingabe eingeben.

    
Deepak Jha 26.09.2016 05:57
quelle

Tags und Links