| |||
Si hablas de "antes de llegar a presionar el botón de enviar" .. para ese caso PHP no sabe nada de tu proceso .. así que es taréa integra de Javascript. Usa el buscador del foro .. hay muchas rutinas en vários lenguajes para validar el RUT Chileno. También debes asegurarte de validar en "el lado del serivodr" siempre .. sea en PHP o el lenguaje que usas (si lo quieres en PHP; en las FAQ's de este foro PHP lo tienes ..). (Muevo tu pregunta al foro de Javascript para que te orienten) Un saludo,
__________________ Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo. |
| ||||
Que es un RUT CHILENO?
__________________ De todas las cosas que queria ser... :-D acabe siendo un pato volador... :risa: http://patovolador.wordpress.com |
| |||
es RUT significa ROL UNICO TRIBUTARIO, es un número seguido de un guión y un digito (por ejemplo 11.111.111-1) A este último se le llama DIGITO VERIFICADOR ya que, haciéndole una transformación matemática al número(11.111.111), se llega al verificador(1). Este RUT es único para cada EMPRESA o razón social en Chile. A la vez existe el RUN que significa Rol Unico Nacional, cada persona en Chile tiene su RUN. Si una persona crea una Empresa y es dueña de ella su RUN pasa a ser el RUT de la Empresa, o sea, se entiende que la transformación matemática para el rut o run es la misma. Eso es lo que quiere sebaghost, validar el ingreso de ese rut o run. La fórmula es bien simple. Es un ejercicio típico para alumnos de programación en Chile ;D Resumiendo, un rut (más bien RUN) es un nº de cedula de identidad, común en cualquier parte del mundo. |
| ||||
Visita esta pagina www.vmaule.com , tengo una validador del rut en Javascripts, sacalo usando el "ver codigo fuente". Slds.
__________________ "Lo importante es nunca dejar de hacerse preguntas" Albert Einstein |
| ||||
gracia spor su respuesta y ya encontre la solucion de mi problema asi k se les agradece y aka va la solucion para k si alguien la necesita <head> <script language="JavaScript"> function checkFields(objTextoStrRut, objTextoRut) { // Validación de todos los elementos del formulario rut = rut; if( rut == 0 ){ alert( "El rut está vacío, ingrese uno, por favor"); } else { var rut = objTextoStrRut.value; var tmpstr = ""; for ( i=0; i < rut.length ; i++ ) if ( rut.charAt(i) != ' ' && rut.charAt(i) != '.' && rut.charAt(i) != '-' ) tmpstr = tmpstr + rut.charAt(i); rut = tmpstr; if ( validaRut(objTextoStrRut) ) { return true; } else { return false; } } } function checkDV(crut) { largo = crut.length; if ( largo > 2 ) rut = crut.substring(0, largo - 1); else rut = crut.charAt(0); dv = crut.charAt(largo-1); if ( rut == null || dv == null ) return 0; var dvr = '0'; suma = 0; mul = 2; for (i= rut.length -1 ; i >= 0; i--) { suma = suma + rut.charAt(i) * mul; if (mul == 7) mul = 2; else mul++; } res = suma % 11; if (res==1) dvr = 'k'; else if (res==0) dvr = '0'; else { dvi = 11-res; dvr = dvi + ""; } if ( dvr != dv.toLowerCase() ) return false; return true; } function validaRut(objTextoStrRut) { texto = objTextoStrRut.value; var tmpstr = ""; for ( i=0; i < texto.length ; i++ ) if ( texto.charAt(i) != ' ' && texto.charAt(i) != '.' && texto.charAt(i) != '-' ) tmpstr = tmpstr + texto.charAt(i); texto = tmpstr; largo = texto.length; if ( largo < 2 ) { alert("Debe ingresar el rut completo"); objTextoStrRut.focus(); objTextoStrRut.select(); return false; } for (i=0; i < largo ; i++ ) { if ( texto.charAt(i) !="0" && texto.charAt(i) != "1" && texto.charAt(i) !="2" && texto.charAt(i) != "3" && texto.charAt(i) != "4" && texto.charAt(i) !="5" && texto.charAt(i) != "6" && texto.charAt(i) != "7" && texto.charAt(i) !="8" && texto.charAt(i) != "9" && texto.charAt(i) !="k" && texto.charAt(i) != "K" ) { objTextoStrRut.focus(); objTextoStrRut.select(); alert("El valor ingresado no corresponde a un rut válido"); return false; } } var invertido = ""; for ( i=(largo-1),j=0; i>=0; i--,j++ ) invertido = invertido + texto.charAt(i); var dtexto = ""; dtexto = dtexto + invertido.charAt(0); dtexto = dtexto + '-'; cnt = 0; for (i=1,j=2; i<largo; i++,j++) { if ( cnt == 3 ) { dtexto = dtexto + '.'; j++; dtexto = dtexto + invertido.charAt(i); cnt = 1; } else { dtexto = dtexto + invertido.charAt(i); cnt++; } } invertido = ""; for ( i=(dtexto.length-1),j=0; i>=0; i--,j++ ) invertido = invertido + dtexto.charAt(i); objTextoStrRut.value = invertido; if ( checkDV(texto) ) { return true; } else { objTextoStrRut.focus(); objTextoStrRut.select(); alert("El rut es incorrecto"); return false; } } </script> </head> <body> <form name="form1" > Rut : <input type="text" name="rut" onBlur="checkFields(this)" /> </form> </body> </html> |