/[0-9]+/
wird auch einen regulären Ausdruck zu schreiben, die genau mit Zahlen zwischen 0~255
diejenigen außerhalb des Bereichs, wie 999
Wie kann ich die Zahl von 0 bis 255 mit Regex in PHP übereinstimmen?
Wie passen?
/[0-9]+/
wird auch einen regulären Ausdruck zu schreiben, die genau mit Zahlen zwischen 0~255
diejenigen außerhalb des Bereichs, wie 999
Wie kann ich die Zahl von 0 bis 255 mit Regex in PHP übereinstimmen?
Wie passen?
Werfen Sie einen Blick here:
000..255: ^([01][0-9][0-9]|2[0-4][0-9]|25[0-5])$
0 or 000..255: ^([01]?[0-9]?[0-9]|2[0-4][0-9]|25[0-5])$
Die einfachste Lösung, um die Zahl greifen würde, in eine ganze Zahl konvertieren und testen Sie dann, dass es Wert ist, ist < = 255. Aber wenn Sie wirklich, wirklich wollen einen regulären Ausdruck, es zu tun, dann würde dies funktionieren:
^([0-9]{1,2}|1[0-9]{1,2}|2[0-4][0-9]|25[0-5])$
bearbeiten Fest Ursache es d Ich arbeite nicht in allen Situationen. Um ehrlich zu sein, deshalb sollten Sie die Zeichenfolge nur in eine ganze Zahl analysieren und testen, dass der ganzzahlige Wert < = 255 ist.
Das entspricht ** nicht ** 150 bis 199 btw – YOU
S.Mark: Meine Antwort aktualisiert, danke :) –
In Wirklichkeit sollten Sie nur 0-999 übereinstimmen und die Werte danach normalisieren, aber .. .
/(25[0-5])|(2[0-4][0-9])|(1[0-9][0-9])|([0-9][0-9])|([0-9]))/
Oder einfach nur eine beliebige Zahl fangen mit/(\ d +) / –
ich tun würde:
$n >= 0 && $n <= 255
Regex sind gut, aber sie können in solchen Fällen vermieden werden.
erste Gruppe übereinstimmt 0-99, zweite 100-199, 200-249 dritte, vierte 250-255
/[0-9]{1,2}|1[0-9]{2}|2[0-4][0-9]|25[0-5]/
Mit oder ohne führende Nullen ?, dh 001 usw. –
* (bezogen) * http://stackoverflow.com/questions/2738762/unsigned-tinyint-in-php – Gordon