Validaciones is_numeric() me acepta letras o.O

Iniciado por Xaina, 26 Agosto 2008, 23:33 PM

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

Xaina

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 (php) [Seleccionar]
<?php
$DNI $_REQUEST['txtDNI'];
        
       
//datos capturados en la variable $DNI ==> "222e2222"

if (!is_numeric($DNI)) 
{
echo "NO es númerico";
}
else
{
echo "Es númerico";
}
?>


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?

luiggy2

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!
" Las grandes ideas suelen salir la mayoría de veces de grandes estupideces "