0
Ich brauche eine Regex, die eine Eingänge wie Streichhölzer: 1234.789
12
123.02
Wie schränkt man die Eingabe von Float-Werten ein?
, die maximale 4
Ziffern auf der linken Seite von .
und maximale 3
auf der rechten Seite von .
here ist, was ich habe versucht.
i = 0;
$(document).ready(function(e){
$("input").keypress(function(e){
var patt = new RegExp("^[0-9]{1,4}(?:\.[0-9]{0,3})?$");
var val = this.value + e.key;
debugger;
if (!patt.test(val)){
\t e.preventDefault();
}
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
Enter your name: <input type="number">
Doppel Flucht Sonderzeichen in den Konstruktor Notation. Siehe [Warum müssen Regex-Konstruktoren doppelt maskiert werden?] (Http://stackoverflow.com/questions/17863066/why-do-regex-constructors-need-to-be-double-escaped) Verwenden Sie jedoch ein Regex-Literal : 'var patt =/^ \ d {1,4} (?: \. \ d {0,3})? $ /;' –
Gibt es ein Problem mit dem Code, den Sie ausprobiert haben? Wenn ja, was ist das? –
Die Regex funktioniert gut, ich denke, das Problem ist, wie Sie versuchen, die Werte zu beschränken. Doing 'e.preventDefault();' wird nicht dazu führen, "rückgängig zu machen" –