
02/03/2007, 14:26
|
| | Fecha de Ingreso: febrero-2007
Mensajes: 5
Antigüedad: 18 años Puntos: 0 | |
Re: validar rut
Código:
var VALIDAR = {
alfanumerico: function(input){
var find = new RegExp(/^\w{1,}$/);
if(!find.test(input))return(false);
return true;
},
email: function(input){
input = input.replace(";",",");
var listcorreo = input.split(",");
for (i=0; i < listcorreo.length; i++)if( listcorreo[i].search(/^[\w-\.]+@([\w-]+\.)+[\w-]{2,4}$/ig) )return (false);
return true;
},
getDV: function(input){
var M=0,S=1;for(;input;input=Math.floor(input/10))
S=(S+input%10*(9-M++%6))%11;return S?S-1:'K';
},
rut: function(input){
var find = new RegExp(/^(\d{1,8})-([K|0-9])$/);
if(find.test(input)) {
var M=0,S=1,T=RegExp.$1;
for(;T;T=Math.floor(T/10))
S=(S+T%10*(9-M++%6))%11;
return ((S?S-1:'K') == RegExp.$2 ? true : false);
}else{
return false;
}
return true;
},
numero: function(input){
var find = new RegExp(/^(?:\+|-)?\d+\.\d*$/);
if(!find.test(input))return(false);
return true;
},
entero: function(input){
var find = new RegExp(/^(?:\+|-)?\d+$/);
if(!find.test(input))return(false);
return true;
},
real: function(input){
var find = new RegExp(/^(?:\+|-)?\d+[\.|,]\d*$/);
if(!find.test(input))return(false);
return true;
},
hora: function(input){
var find = new RegExp(/^(0[0-9]|1\d|2[0-3]):([0-5]\d):([0-5]\d)$/);
if(!find.test(input))return(false);
return true;
},
fecha: function(input){
var find = new RegExp(/^([0-9]{2})(-|\/)([0-9]{2})(-|\/)([0-9]{4})$/);
var borrar = "";
if(find.test(input)){
borrar = input;
if((input.substr(2,1) == "-") && (input.substr(5,1) == "-")){
for(i=0; i<10; i++){
if(((input.substr(i,1)<"0") || (input.substr(i,1)>"9")) && (i != 2) && (i != 5)){
borrar = "";
break;
}
}
if(borrar){
a = input.substr(6,4);
m = input.substr(3,2);
d = input.substr(0,2);
if((a < 1900) || (a > 2050) || (m < 1) || (m > 12) || (d < 1) || (d > 31)){
borrar = "";
}else{
if((a%4 != 0) && (m == 2) && (d > 28)){
borrar = ""; // Año no viciesto y es febrero y el dia es mayor a 28
}else{
if((((m == 4) || (m == 6) || (m == 9) || (m==11)) && (d>30)) || ((m==2) && (d>29))){
borrar = "";
}
}
}
}
}
}
if (borrar == ""){
return false;
}else{
return true;
}
}
}
Para validar el rut en esta pequeña clase, debes hacerlo de la siguiente manera:
Código:
<script type="text/javascript">
var campoRUT = document.getElementById("txtRUT");
campoRUT.validar = function(){
if(!VALIDAR.rut(this.value)){
throw (new String("El campo RUT no es válido"));
}
return true;
}
function formulario_submit(){
try{
campoRUT.validar();
// Sentencias ......
}catch(ex){
alert(ex);
}
}
</script>
|