Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Expresiones regulares PHP

Estas en el tema de Expresiones regulares PHP en el foro de PHP en Foros del Web. Hola! quiero validar si una variable string tiene un decimal, a penas hoy he comenzado a ver las expresiones regulares, he creado esto pero no ...
  #1 (permalink)  
Antiguo 04/04/2013, 03:51
 
Fecha de Ingreso: noviembre-2011
Mensajes: 117
Antigüedad: 12 años, 5 meses
Puntos: 2
Expresiones regulares PHP

Hola! quiero validar si una variable string tiene un decimal, a penas hoy he comenzado a ver las expresiones regulares, he creado esto pero no funciona bien porque me dice que la cadena '23455.5l' si es decimal, yo quiero que solo permita numeros pero no se donde se pone exactamente, ¿alguien puede ayudarme?

Código PHP:
$text="23455.5l";

if (
preg_match('/(\d{0,2}[0-9])\.(\d{0,2}[0-9])/'$text)) {
    echo 
"si!";
}
else
{
    echo 
'no';

también he probado esta:

'/(\[0-9]{1,2})\.(\[0-9]{1,2})/'

y no funciona se supone que le estoy diciendo que solo puede haber números antes y después de la coma y que solo puede haber 1 ó 2 :S ¿qué estoy haciendo mal?

Gracias de antemano!

Última edición por eamanesims; 04/04/2013 a las 04:38 Razón: añadir información
  #2 (permalink)  
Antiguo 04/04/2013, 05:15
Avatar de oscard41  
Fecha de Ingreso: mayo-2012
Ubicación: Caracas
Mensajes: 288
Antigüedad: 11 años, 11 meses
Puntos: 8
Respuesta: Expresiones regulares PHP

Buenos dias, aqui te dejo una expre que solo acepta decimales

Código PHP:
Ver original
  1. <?php
  2.  
  3. $text="2355.51";
  4.  
  5. if (preg_match('/(^[0-9]+)\.([0-9]+)$/', $text))
  6.     echo "si!";
  7. else
  8.     echo 'no';
  9.  
  10. if (preg_match('/(^\d+)\.(\d+)$/', $text))
  11.     echo "si!";
  12. else  
  13.     echo 'no';
  14.  
  15. ?>

Los dos ejemplos hacen lo mismo el primero (^[0-9]+) va a buscar el principio de la expresion regular 1 o mas combinaciones de numeros del 0 al 9 despues buscara un punto \. y luego al final de la expresion buscara igualmente 1 o mas combinaciones del 0 al 9.

El segundo ejemplo es lo mismo solo que \d sustituye a [0-9]...

espero y te sirva...
  #3 (permalink)  
Antiguo 04/04/2013, 05:29
 
Fecha de Ingreso: noviembre-2011
Mensajes: 117
Antigüedad: 12 años, 5 meses
Puntos: 2
Respuesta: Expresiones regulares PHP

Muchas gracias oscard41!!! funciona perfecto ^^

Etiquetas: expresiones, regulares
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 16:07.