/[0-9]+/
también coincidirán con los fuera de rango, como 999
¿Cómo puedo unir el número de 0 a 255 usando expresiones regulares en PHP?
Cómo escribir una expresión regular que coincide exactamente con los números entre 0~255
?
/[0-9]+/
también coincidirán con los fuera de rango, como 999
¿Cómo puedo unir el número de 0 a 255 usando expresiones regulares en PHP?
Cómo escribir una expresión regular que coincide exactamente con los números entre 0~255
?
Tener una mirada 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])$
La solución más simple sería agarrar el número, convertir a un entero y luego pruebe que su valor se < = 255. Pero si realmente, realmente querer una expresión regular para hacerlo, entonces esto funcionaría:
^([0-9]{1,2}|1[0-9]{1,2}|2[0-4][0-9]|25[0-5])$
Editar fijo puede suponer que d no funciona en todas las situaciones Para ser sincero, esta es la razón por la que debería analizar la cadena en un entero y probar que el valor entero es < = 255.
Eso ** ** no coincide con 150 a 199 btw – YOU
S.Mark: Actualizado mi respuesta, gracias :) –
En realidad, solo debe coincidir con 0-999 y normalizar los valores después, pero ... .
/(25[0-5])|(2[0-4][0-9])|(1[0-9][0-9])|([0-9][0-9])|([0-9]))/
O simplemente atrapa cualquier número entero con/(\ d +) / –
lo haría:
$n >= 0 && $n <= 255
expresiones regulares son buenos, pero que se pueden evitar en casos como estos.
primera partidos de grupo 0-99, segundo uno 100-199, 200-249 tercera, cuarta 250-255
/[0-9]{1,2}|1[0-9]{2}|2[0-4][0-9]|25[0-5]/
Con o sin ceros a la izquierda ?, es decir, 001, etc. –
* (relacionado) * http://stackoverflow.com/questions/2738762/unsigned-tinyint-in-php – Gordon