More Related Content
PDF
Ejercicios resueltos Practica 4 informatica II DOCX
TXT
PDF
PDF
PDF
DOCX
PDF
Swift イニシャライザー復習会 #love_swift #akibaswift #21cafe What's hot
PDF
DOCX
PDF
Programación funcional en Haskell TXT
PDF
modern javascript, unobtrusive javascript, jquery TXT
DOCX
DOCX
DOCX
PDF
PDF
PDF
PDF
TXT
Convertir numero a letras. PPT
Viewers also liked
PPTX
ODP
PPTX
PDF
The 3rd Thing UC Davis Gets You PPTX
HPR Integrated Design - BIM/IPD Proposal Presentation PPTX
HPR Integrated Design - BIM/IPD Proposal Presentation PDF
International Dairy trade More from Rudy Medina
PDF
PDF
PPT
PPT
1 algebra lineal y vectores aleatorios PDF
PDF
Informe de sistema operativo PPT
PPT
07 nociones de algebra lineal PPT
Módulos algebra de matrices (1) PPTX
Interconexiones de redes (networking) PDF
PDF
PPTX
PDF
Creando una interfaz grafica Rut
- 1.
/* Copyright (c)2009 José Joaquín Núñez (josejnv@gmail.com) http://joaquinnunez.cl/blog/
* Licensed under GPL (http://www.opensource.org/licenses/gpl-2.0.php)
* Use only for non-commercial usage.
*
* Version : 0.5
*
* Requires: jQuery 1.2+
*/
(function($)
{
jQuery.fn.Rut = function(options)
{
var defaults = {
digito_verificador: null,
on_error: function(){},
on_success: function(){},
validation: true,
format: true,
format_on: 'change'
};
var opts = $.extend(defaults, options);
return this.each(function(){
if(defaults.format)
{
jQuery(this).bind(defaults.format_on, function(){
jQuery(this).val(jQuery.Rut.formatear(jQuery(this).val(),defaults.digito_verificador==null));
});
}
if(defaults.validation)
{
if(defaults.digito_verificador == null)
{
jQuery(this).bind('blur', function(){
var rut = jQuery(this).val();
if(jQuery(this).val() != "" && !jQuery.Rut.validar(rut))
{
defaults.on_error();
}
else if(jQuery(this).val() != "")
{
defaults.on_success();
}
});
}
- 2.
else
{
var id = jQuery(this).attr("id");
jQuery(defaults.digito_verificador).bind('blur', function(){
var rut = jQuery("#"+id).val()+"-"+jQuery(this).val();
if(jQuery(this).val() != "" && !jQuery.Rut.validar(rut))
{
defaults.on_error();
}
else if(jQuery(this).val() != "")
{
defaults.on_success();
}
});
}
}
});
}
})(jQuery);
/**
Funciones
*/
jQuery.Rut = {
formatear: function(Rut, digitoVerificador)
{
var sRut = new String(Rut);
var sRutFormateado = '';
sRut = jQuery.Rut.quitarFormato(sRut);
if(digitoVerificador){
var sDV = sRut.charAt(sRut.length-1);
sRut = sRut.substring(0, sRut.length-1);
}
while( sRut.length > 3 )
{
sRutFormateado = "." + sRut.substr(sRut.length - 3) + sRutFormateado;
sRut = sRut.substring(0, sRut.length - 3);
}
sRutFormateado = sRut + sRutFormateado;
if(sRutFormateado != "" && digitoVerificador)
{
sRutFormateado += "-"+sDV;
}
else if(digitoVerificador)
{
- 3.
sRutFormateado += sDV;
}
return sRutFormateado;
},
quitarFormato: function(rut)
{
var strRut = new String(rut);
while( strRut.indexOf(".") != -1 )
{
strRut = strRut.replace(".","");
}
while( strRut.indexOf("-") != -1 )
{
strRut = strRut.replace("-","");
}
return strRut;
},
digitoValido: function(dv)
{
if ( dv != '0' && dv != '1' && dv != '2' && dv != '3' && dv != '4'
&& dv != '5' && dv != '6' && dv != '7' && dv != '8' && dv != '9'
&& dv != 'k' && dv != 'K')
{
return false;
}
return true;
},
digitoCorrecto: function(crut)
{
largo = crut.length;
if ( largo < 2 )
{
return false;
}
if(largo > 2)
{
rut = crut.substring(0, largo - 1);
}
else
{
rut = crut.charAt(0);
}
dv = crut.charAt(largo-1);
- 4.
jQuery.Rut.digitoValido(dv);
if(rut == null || dv == null)
{
return 0;
}
dvr = jQuery.Rut.getDigito(rut);
if (dvr != dv.toLowerCase())
{
return false;
}
return true;
},
getDigito: function(rut)
{
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)
{
return 'k';
}
else if(res==0)
{
return '0';
}
else
{
return 11-res;
}
},
- 5.
validar: function(texto)
{
texto = jQuery.Rut.quitarFormato(texto);
largo = texto.length;
// rut muy corto
if ( largo < 2 )
{
return false;
}
// verifica que los numeros correspondan a los de rut
for (i=0; i < largo ; i++ )
{
// numero o letra que no corresponda a los del rut
if(!jQuery.Rut.digitoValido(texto.charAt(i)))
{
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 = "";
- 6.