2016-07-11 14 views
0

Ich benutze jquery Validierung Plugin.
Ich muss die Preiseingabe validieren.
die Spalte in der Datenbank ist float (7,2) soJQuery: Validieren Sie den Preis Float (7,2)

  • maximal 7 Zahlen ohne Komma oder
  • 5 Nummer vor dem Komma und 2 hinter dem Komma (als Max)
mein Preis akzeptieren

ich habe bereits die Validierung in Server-Seite mit diesem pHP-Code

if (strstr($price, '.') && (strlen(substr(strrchr($price, "."), 1)) > 2 || strlen($price) > 8) ) { 
    echo "invalid format"; 
} 
elseif (!strstr($price, '.')) { 
    if(strlen($price) > 5) 
    { 
     echo "invalid format"; 
    } 
} 

i t machen müssen Die gleiche Validierung auf der Client-Seite mit dem Hinzufügen einer neuen Methode mit dem Jquery-Validierungs-Plugin.
aber ich kann nicht den wahren Ausdruck finden, um das zu tun.

aktualisieren

Detailbeschreibung:
i irgendeine Zahl weniger akzeptieren müssen als oder gleich 7 Ziffern wie (12-1234 - 1234567) .. - .. und eine beliebige Anzahl mit weniger als oder gleich 5 Ziffern vor Komma und kleiner als oder gleich 2 Stellen nach dem Komma wie (123,1-12.345,12 - 12,23)

+0

clientseitige Validierung verwenden können, ist alles schön und gut für die sofortige Rückmeldung an den Benutzer, Überspringen Sie jedoch nicht die serverseitige Validierung, nur weil Sie es auf dem Client-Computer getan haben ent. Kunden lügen. –

+0

'/^\ d {7} $ /' und '/^\ d {5} \. \ D {2} $ /', jetzt müssen Sie nur noch beitreten – adeneo

+0

@MarcB: ja natürlich, ich hat bereits serverseitige Validierung :) – user6534060

Antwort

1

aktualisieren

Detailbeschreibung: i Notwendigkeit, jede Zahl kleiner als oder akzeptieren gleich 7 Ziffern wie (12 - 1234 - 1234567) .. - .. und jede Zahl mit weniger als gleich 5 Ziffern vor Komma und kleiner als oder gleich 2 Ziffern vor Komma wie (123.1 - 12345.12 - 12.23)

Sollte „und kleiner als oder gleich 2 Stellen vor Komma“sein „und kleiner als oder gleich 2 Stellen nach Komma“?


bearbeiten, aktualisiert

Sie pattern Attribut mit RegExp\d{1,5},\d{1,2}|\d{1,7}

<form> 
 
    <input type="text" 
 
     pattern="\d{1,5},\d{1,2}|\d{1,7}" 
 
     title="a) any number less than or equal 7 digits; b) any number with less than or equal 5 digits before comma and less than or equal 2 digits after comma" 
 
     required /> 
 
    <input type="submit" /> 
 
</form>

+0

Ich denke, die ** RegExp \ d {5}, \ d {2} | \ d {7} ** brauchen ein Update.Es zeigt die Fehlermeldung in allen Fällen (12 oder 123,2 oder 123456) und akzeptiert nur zwei Fälle (1234567 oder 12345,12) (ich meine die maximalen Werte (7 Zahlen) oder (5 vor Komma und 2 nach Komma)) – user6534060

+0

Was meinst du? Nur gültiger Wert ist a) sieben Ziffern; oder b) fünf Ziffern gefolgt von einem Komma gefolgt von zwei Ziffern, ja? – guest271314

+0

Ja, das was Ihre RegExp akzeptiert, nur 7 Ziffern oder 5 dann als 2 Ziffern – user6534060

Verwandte Themen