Foro de elhacker.net

Programación => PHP => Mensaje iniciado por: Xaina en 26 Agosto 2008, 23:33 pm



Título: Validaciones is_numeric() me acepta letras o.O
Publicado por: Xaina en 26 Agosto 2008, 23:33 pm
Hola! estoy haciendo las validaciones correspondientes a un formulario y utilizo la función is_numeric() para validar si la entrada de datos en un txt fue númerica (un campo como DNI o cédula de identidad), para mi sorpresa después de varias combinaciones, me encontre con esto:

Código
  1. <?php
  2. $DNI = $_REQUEST['txtDNI'];
  3.  
  4.       //datos capturados en la variable $DNI ==> "222e2222"
  5.  
  6. if (!is_numeric($DNI))
  7. {
  8. echo "NO es númerico";
  9. }
  10. else
  11. {
  12. echo "Es númerico";
  13. }
  14. ?>

Eso me devuelve "Es númerico" cuando debería decirme que NO lo es, tengo entendido que PHP se encarga de asignar los tipos de datos y acá la variable debería ser reconocida como una cadena o me equivoco?


Título: Re: Validaciones is_numeric() me acepta letras o.O
Publicado por: luiggy2 en 27 Agosto 2008, 11:21 am
Aqui te dejo la explicación, sacada de php.net

Citar
is_numeric():

Encuentra si la variable dada es numérica. Las cadenas numéricas consisten de un signo opcional, cualquier número de dígitos, una parte decimal opcional y una parte exponencial opcional. Por lo tanto, +0123.45e6 es un valor numérico válido. La notación hexadecimal (0xFF) es permitida también pero solo sin partes de signo, valor decimal y valor exponencial.

Saludos!