Revision: 412
Initial Code
Initial URL
Initial Description
Initial Title
Initial Tags
Initial Language
at July 12, 2006 13:19 by nicolaspar
Initial Code
function validarCodigoReferencia( $str, $pais ){
global $conn, $paises;
$str = strtoupper( $str );
#Primero, que tenga 6 caracteres, sino afuera de con el pichicho.
if( strlen( $str ) != 6 ){
return false;
}else{
#Dividimos en dos, limpiamos la primer parte de todo lo que no sea letras y la segunda de todo lo que no sea número
$primeraParte = soloLetras( substr( $str, 0, 3 ) );
$segundaParte = soloNum( substr( $str, 3, 6 ) );
#echo $primeraParte . "-" . $segundaParte;
#Con estas partes generamos un nuevo str
$strNew = $primeraParte . $segundaParte;
#Y si no quedo de 6 no es valido.
if( strlen( $strNew ) != 6 ){
return false;
}else{
#Si quedo de 6 es que es de 3 letras + 3 numeros. Veamos si está en el rango del pais
$rangoDesde = ord( $paises[$pais]["rangoDesde"] );
$rangoHasta = ord( $paises[$pais]["rangoHasta"] );
$esteRango = ord( $strNew{0} );
#echo $rangoDesde . '-' . $rangoHasta .'-'. $esteRango;
if( $esteRango > $rangoHasta || $esteRango < $rangoDesde ){
return false;
}else{
return true;
}
}
}
}
Initial URL
Initial Description
Valida si un codigo (en este caso formato XXXYYY donde y es num y x es alfa) pertenece a un paÃs.
EJ:
$paises = array();
$sql = "Select * from paises where estado = 1";
$r = mysql_query( $sql );
while( $rs = mysql_fetch_assoc( $r ) ) {
$paises[$rs["codigo"]] = array(
"nombre" => $rs["nombre"],
"cantidadUsuarios" => $rs["cantidadUsuarios"],
"rangoDesde" => strtoupper($rs["rangoDesde"]),
"stock" => strtoupper($rs["stock"]),
"rangoHasta" => strtoupper($rs["rangoHasta"])
);
}
mysql_free_result( $r );
if( validarCodigoReferencia( "ABD155", 1 ) ) echo "si"; else echo "no";
Initial Title
Php validar rango de codigos
Initial Tags
Initial Language
PHP