Otra forma de validar precio con expresiones regulares

Iniciado por samur88, 6 Junio 2009, 15:55 PM

0 Miembros y 1 Visitante están viendo este tema.

samur88

Muy buenas

Tengo el siguiente problema, tengo un campo precio que solo acepte 5 dígitos numéricos  y vayan desde el 1, al 99999.

He hecho lo siguiente:

$patronp = "^[1-9]{1}[0-9]{0,4}$";
echo eregi($patronp,"12345")


Funciona pero veo que el patrón ese es un poco cutre, me gustaría saber si hay otra forma de decir que el primer dígito que contenga la cadena no pueda ser un 0.

Un saludo


‭lipman

Otra forma seria, sabiendo que tienes un numero XXXXX, para saber que no tienen ningún cero delante, puedes hacerlo con un if para que devuelva true si el número introduce es mayor que 10000. Si tiene algun cero delante, devolverá falso porque seria inferior a 10000.

Pero sinceramente, me gusta mas como lo has dejado tu, solo te pongo otro metodo =P

samur88

Gracias por el método que me has dado, pero yo lo que estoy buscando es una expresión regular que me lo haga todo, es decir que el patrón tenga algo así que diga que el primer dígito no pueda ser 0, es mas que nada para saberlo.

Saludos

luiggy2

podrías hacerlo con un substr. Pero tendrias que usar un if de todas formas.


Saludos!
" Las grandes ideas suelen salir la mayoría de veces de grandes estupideces "

samur88

Gracias, aunque lo buscaba era hacerlo con expresiones regulares, pero si habría una expresión que dijera que al principio de la cadena no puede contener un carácter dado, pero creo que la única forma de hacerlo es con el código ese.

Un saludo