Ver Mensaje Individual
  #18 (permalink)  
Antiguo 22/06/2009, 17:12
Avatar de rompeguesos
rompeguesos
 
Fecha de Ingreso: marzo-2009
Mensajes: 692
Antigüedad: 15 años, 2 meses
Puntos: 8
Respuesta: Cansao de buscar algo para validar CIF, (Ayuda)

abimaelrc funciona casi del todo bien del modo que tu dices, mira si pongo una letra en cualquier lao que no sea el principio da como cif no valido y si la pongo delante y detras los 8 dijitos tambien lo da como valido, pero el problema es que si pongo los 9 digitos numericos tambien los da como valido, en que falla?

lo llevo asi:

Código PHP:
<?php

// Preguntaremos si se han enviado ya las variables necesarias 
if (isset($_POST["razonsocial"])) { 
$razonsocial $_POST["razonsocial"];
$cif $_POST["cif"];
$descripcion $_POST["descripcion"];
$paginaweb $_POST["paginaweb"];
$pais $_POST["pais"];
$ciudad $_POST["ciudad"];
$direccion $_POST["direccion"];
$telefono $_POST["telefono"];
$fax $_POST["fax"];
$nombre $_POST["nombre"];
$apellido1 $_POST["apellido1"];
$apellido2 $_POST["apellido2"];
$cargo $_POST["cargo"];


// Hay campos en blanco 
if($razonsocial==NULL|$cif==NULL|$descripcion==NULL|$pais==NULL|$ciudad==NULL|$direccion==NULL|$telefono==NULL|$nombre==NULL|$apellido1==NULL|$apellido2==NULL|$cargo==NULL){ 
echo 
"Hay campos en blanco"
}else{
echo 
"<br>No Hay campos en blanco";
if (
strlen($cif)<9)
{
echo 
"<br>Mínimo 9 carácteres";
}else{
echo 
"<br>Minimo esta bien";
if (
strlen($cif)>9)
{
echo 
"<br>Máximo 9 carácteres";
}else{
echo 
"<br>Máximo esta bien";

if(
preg_match("|^\w\d{8}$|",$cif)){
    
//Se valido, aqui va entonces el codigo
    
echo "<br>Cif valido";
}else{
    
//No se valido escribe otro codigo
    
echo "<br>Cif No valido";

}
}
}
}
?>