este lo hice yo jejeje no sabia que ya avias echo uno cluster
primero un formulario donde poner el rut
formulario.htm
Código PHP:
<html>
<head></head>
<body>
<title>validador de rut</title>
<FORM METHOD=POST action="rut.php">
Rut<br>
<INPUT TYPE="TEXT" NAME="rut">
<br>
<INPUT TYPE=SUBMIT VALUE="ACEPTAR">
<form>
</body>
</html>
el archivo rut.php
Código PHP:
<?php
if (is_numeric($rut)){
$digitos = strlen($rut);
// primero separamos los numeros
switch ($digitos){
case 7:
$num = 0;
$num1 = substr ("$rut", 0, 1);
$num2 = substr ("$rut", 1, 1);
$num3 = substr ("$rut", 2, 1);
$num4 = substr ("$rut", 3, 1);
$num5 = substr ("$rut", 4, 1);
$num6 = substr ("$rut", 5, 1);
$num7 = substr ("$rut", 6, 1);
break;
case 8:
$num = substr("$rut", 0, 1);
$num1 = substr ("$rut", 1, 1);
$num2 = substr ("$rut", 2, 1);
$num3 = substr ("$rut", 3, 1);
$num4 = substr ("$rut", 4, 1);
$num5 = substr ("$rut", 5, 1);
$num6 = substr ("$rut", 6, 1);
$num7 = substr ("$rut", 7, 1);
break;
}
if ($digitos >=9){
echo "El numero que digitaste tiene $digitos numeros, y como maximo el rut tiene 8";
}
else {
if ($digitos <=6){
echo "El numero que digitaste tiene $digitos numeros, y como minimo el rut tiene 7"; }
else{
//ahora empieza la multiplicacion
$nu = $num*3;
$nu1 = $num1*2;
$nu2 = $num2*7;
$nu3 = $num3*6;
$nu4 = $num4*5;
$nu5 = $num5*4;
$nu6 = $num6*3;
$nu7 = $num7*2;
//ahora empieza la suma
$totalsum = $nu + $nu1 + $nu2 + $nu3 + $nu4 + $nu5 + $nu6 + $nu7;
//ahora la divicion
$totaldiv = $totalsum / 11;
//ahora sacamos el sobrante de la divicion
$totalresu = $totalsum % 11;
//ahora empieza la resta
$totalres = 11 - $totalresu;
//ahora mostramos el digito
switch ($totalres){
case 10:
$digito = "K";
break;
case 11:
$digito = "0";
break;
default:
$digito = $totalres;
break;
}
echo "el digito que quieres es <b>\"$digito\"</b><br>";
}
}
}
else {
echo "Pusiste letras";
}
?>
es un poco mas grande del que pones cluster pero es mas facil de entender para los que no saben mucho de php como yo jejeje
este codigo toma como referencia que el usuario ingresa solo numeros sin puntos
salu2