PHP regex - gültigen float-Zahl
Ich möchte die user nur die Eingabe von 0-9 und nur einmal "."
patt = /[^0-9(.{1})]/
1.2222 -> true
1.2.2 -> false (only once '.')
mir helfen , danke !
InformationsquelleAutor der Frage Chameron | 2010-10-15
Du musst angemeldet sein, um einen Kommentar abzugeben.
Dies entspricht auch dem normalen Schwimmern z.B.
3.14
Kürzel für dezimale Teil nur z.B..5
- und Ganzzahlen z.B.9
als auch negative zahlen.InformationsquelleAutor der Antwort Core Xii
dies ist, was Sie suchen
dieser akzeptiert nur "123" oder "123.456", nicht ".123" oder "14e+15". Wenn Sie diese Formulare, versuchen is_numeric
InformationsquelleAutor der Antwort user187291
Reguläre Ausdrücke sind für übereinstimmende Zeichenfolge Muster. Wenn Sie nicht explizit nach der überprüfung der input-string format (der tatsächliche Wert), können Sie auch
stellen Sie sicher, dass der Eingang kann verwendet werden als float-Wert. Dies wird zurück
FALSE
wenn es kein float und float-oder integer-Wert sonst. Alle geben Sie jonglieren Regeln gelten.InformationsquelleAutor der Antwort Gordon
Können Sie
is_numeric()
mit dem VORBEHALT, dass es nimmt ein bisschen mehr als eine Regel will (z.B.1e4
).InformationsquelleAutor der Antwort Pekka 웃
Dieser regex:
geben Ergebnisse:
Allerdings müssen Sie prüfen, die leere, die Eingang, bevor es zu benutzen, weil die regex erlauben auch null-Länge Eingang.
InformationsquelleAutor der Antwort Vantomex
Warum nicht http://php.net/manual/en/function.is-float.php ? Aber wie dem auch sei, die RegEx würde
^[\d]+(|\.[\d]+)$
Spaß haben!InformationsquelleAutor der Antwort Hannes
Warum nicht einfach
is_numeric
wenn Sie nicht erfahren mit regulären Ausdrücken.Ihre regex:
.
entspricht allen Zeichen, die\.
entspricht einem Punkt.{1}
ist nicht notwendig. Und ich habe keine Ahnung, was du versuchst zu tun, mit[^ ... ]
. Lesen Sie die reguläre Ausdrücke tutorialwenn Sie wirklich wollen, um reguläre Ausdrücke verwenden, irgendwo in deinem code.InformationsquelleAutor der Antwort AndiDog