Foros del Web » Programando para Internet » PHP »

expresiones =(

Estas en el tema de expresiones =( en el foro de PHP en Foros del Web. hola que tal, bueno pues tengo un campo en un formulario llamado "precio" y deseo que en el, solamente sean introducidos puros "numero" nada de ...
  #1 (permalink)  
Antiguo 14/07/2003, 05:04
Avatar de gerzok  
Fecha de Ingreso: diciembre-2002
Ubicación: Zapopan, Jalisco, Mexico
Mensajes: 132
Antigüedad: 21 años, 3 meses
Puntos: 1
expresiones =(

hola que tal,

bueno pues tengo un campo en un formulario llamado "precio" y deseo que en el, solamente sean introducidos puros "numero" nada de letras y para ello implemente esto:

Código PHP:
if (ereg("^[^0-9]*$"$precio))
{

verdadero xD

}

else
{

falso =S


pero al poner esto "fsdfsdf 787989" me lo valida como "verdadero" me podrian dar una ayudadita?

saLudOS
  #2 (permalink)  
Antiguo 14/07/2003, 05:24
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 21 años, 10 meses
Puntos: 16
Hola,

No se, podria servirte la funcion is_numeric() (www.php.net/is_numeric). Aun asi en los comentarios de los usuarios tambien comentan alguna expresion regular.

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #3 (permalink)  
Antiguo 14/07/2003, 08:23
 
Fecha de Ingreso: septiembre-2001
Ubicación: Monterrey
Mensajes: 663
Antigüedad: 22 años, 6 meses
Puntos: 6
Cita:
if (ereg("^[^0-9]*$", $precio))
La expresion no es correcta, tu le estas diciendo a ereg que busque una cadena que no contenga numeros. de tal forma que si pones algo como "lkñdjflksjfs" sera veradera, y falsa cualquier otra convinacion que que involucre numeros, como el ejemplo que pusiste ( Estas seguro que funciono? ).
Para hacer que la cadena solo contenga numeros puedes hacer una expresion como la siguiente.
'^[0-9]+$' , como puedes ver el cambio fue minimo, solo quite el '^' dentro de los cochetes y agregue el operador '+', para indicar que puede haber 1 o mas numeros en la expresion.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 20:32.