Regex (für jQuery) zu validieren positive zahlen mit 2 Kommastellen
Ich muss ein Feld mit regex die Verwendung von jQuery. Momentan benutze ich:
onsubmit: function (settings, td) {
//select integers only
var intRegex = /[0-9 -()+]+$/;
var input = $(td).find('input');
var original = input.val();
if (original <= 0) {
Alert('The amount should be bigger than 0');
return false;
}
if (!original.match(intRegex)) {
Alert('Please enter a valid number');
return false;
}
else {
return true;
}
}
Einen string wie "abc"
nicht bestanden die Prüfung. Aber ungültige Zeichen, wie @#$%
oder "/"
tun, übergeben Sie das überprüfen, das verursacht einen Fehler in meiner Methode.
Ich bin auf der Suche nach einer regex die:
Entspricht: 1.20, 1, 2.00, 3.1
Nicht entsprechen: -1.2, abc, 1/2, $, @#$%
Stöberte ich durch das regex-Bibliothek, aber wenn ich (^\d*\.?\d*[0-9]+\d*$)|(^[0-9]+\d*\.\d*$)
in meinem script, ich bekomme einen syntax-Fehler...
InformationsquelleAutor shennyL | 2011-12-17
Du musst angemeldet sein, um einen Kommentar abzugeben.
Verwenden:
Funktionieren sollte.
Siehe post Bearbeiten, habe ich var Initialisierung plus einen Fehler hatte ich entdeckt
Vielen Dank für Ihre freundliche und schnelle Hilfe!
InformationsquelleAutor fge
Hier ist, warum Sie immer waren false positives, die mit Ihrem ursprünglichen regex:
Den Teil, den ich Unterstrichen bildet eine Reihe von Leerzeichen (
U+0020
) die linke Klammer (U+0028
), so dass Ihre regex entspricht:Wenn Sie möchten, um einen Bindestrich, müssen Sie entweder ersetzen Sie es mit einem umgekehrten Schrägstrich oder legen Sie Sie am Anfang oder Ende des Satzes, etwa so:
Auch, wenn Sie von "der regex-Bibliothek" meinst du RegExLib.com ich würde nicht Vertrauen, einer regex, die ich dort vorfand. Die, die Sie gepostet wird, ist ein case in point:
Erstens könnte es geschrieben worden, viel mehr prägnant:
Zweite, es passt Zeichenfolgen wie
123.
und000000.0000000
, die Sie wahrscheinlich nicht wollen. Wenn Sie wirklich wollen, zu entsprechen, nur positive zahlen, die Sie haben zu stellen Sie sicher, es gibt mindestens einen nicht-null-Ziffer in der Zeichenfolge, die entweder vor oder nach dem Komma. Hier ist ein Weg, das zu tun:regex habe so viel Dinge zu wissen! vielen Dank für das teilen 🙂
InformationsquelleAutor Alan Moore
Du bist herzlich willkommen.
InformationsquelleAutor aefxx