├── README.rst ├── bower.json ├── jquery.Rut.js └── site ├── flora.css ├── flora.tabs.css ├── generador-de-ruts-chilenos-validos.html ├── index.html ├── jquery-ui.js ├── jquery.Rut.min.js ├── style.css └── tabs.png /README.rst: -------------------------------------------------------------------------------- 1 | jQuery Rut 2 | ---------- 3 | 4 | Documentación en http://joaquinnunez.cl/jQueryRutPlugin 5 | -------------------------------------------------------------------------------- /bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "jquery-rut-plugin", 3 | "version": "0.5.0", 4 | "homepage": "https://github.com/joaquinnunez/jQuery-Rut-Plugin", 5 | "authors": [ 6 | "Joaquin Nunez " 7 | ], 8 | "description": "jQuery Rut es un sencillo plugin para formatear y validar el rut chileno.", 9 | "main": "jquery.Rut.js", 10 | "keywords": [ 11 | "jquery", 12 | "rut", 13 | "chile", 14 | "chileno" 15 | ], 16 | "license": "MIT", 17 | "dependencies": { 18 | "jquery": ">=1.2" 19 | }, 20 | "repository": { 21 | "type": "git", 22 | "url": "git://github.com/joaquinnunez/jQuery-Rut-Plugin" 23 | }, 24 | "ignore": [ 25 | "site" 26 | ] 27 | } 28 | -------------------------------------------------------------------------------- /jquery.Rut.js: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2009 Jose Joaquin Nunez (josejnv@gmail.com) http://joaquinnunez.cl/blog/ 2 | * Licensed under GPL (http://www.opensource.org/licenses/gpl-2.0.php) 3 | * Use only for non-commercial usage. 4 | * 5 | * Version : 0.5 6 | * 7 | * Requires: jQuery 1.2+ 8 | */ 9 | 10 | (function($) 11 | { 12 | jQuery.fn.Rut = function(options) 13 | { 14 | var defaults = { 15 | digito_verificador: null 16 | , on_error: function(){} 17 | , on_success: function(){} 18 | , validation: true 19 | , format: true 20 | , format_on: 'change' 21 | }; 22 | 23 | var opts = $.extend(defaults, options); 24 | 25 | return this.each(function(){ 26 | 27 | if(defaults.format) 28 | { 29 | jQuery(this).bind(defaults.format_on, function(){ 30 | jQuery(this).val(jQuery.Rut.formatear(jQuery(this).val(),defaults.digito_verificador==null)); 31 | }); 32 | } 33 | if(defaults.validation) 34 | { 35 | if(defaults.digito_verificador == null) 36 | { 37 | jQuery(this).bind('blur', function(){ 38 | var rut = jQuery(this).val(); 39 | if(jQuery(this).val() != "" && !jQuery.Rut.validar(rut)) 40 | { 41 | defaults.on_error(); 42 | } 43 | else if(jQuery(this).val() != "") 44 | { 45 | defaults.on_success(); 46 | } 47 | }); 48 | } 49 | else 50 | { 51 | var id = jQuery(this).attr("id"); 52 | jQuery(defaults.digito_verificador).bind('blur', function(){ 53 | var rut = jQuery("#"+id).val()+"-"+jQuery(this).val(); 54 | if(jQuery(this).val() != "" && !jQuery.Rut.validar(rut)) 55 | { 56 | defaults.on_error(); 57 | } 58 | else if(jQuery(this).val() != "") 59 | { 60 | defaults.on_success(); 61 | } 62 | }); 63 | } 64 | } 65 | }); 66 | } 67 | })(jQuery); 68 | 69 | /** 70 | Funciones 71 | */ 72 | 73 | 74 | jQuery.Rut = { 75 | 76 | formatear: function(Rut, digitoVerificador) 77 | { 78 | var sRut = new String(Rut); 79 | var sRutFormateado = ''; 80 | sRut = jQuery.Rut.quitarFormato(sRut); 81 | if(digitoVerificador){ 82 | var sDV = sRut.charAt(sRut.length-1); 83 | sRut = sRut.substring(0, sRut.length-1); 84 | } 85 | while( sRut.length > 3 ) 86 | { 87 | sRutFormateado = "." + sRut.substr(sRut.length - 3) + sRutFormateado; 88 | sRut = sRut.substring(0, sRut.length - 3); 89 | } 90 | sRutFormateado = sRut + sRutFormateado; 91 | if(sRutFormateado != "" && digitoVerificador) 92 | { 93 | sRutFormateado += "-"+sDV; 94 | } 95 | else if(digitoVerificador) 96 | { 97 | sRutFormateado += sDV; 98 | } 99 | 100 | return sRutFormateado; 101 | }, 102 | 103 | quitarFormato: function(rut) 104 | { 105 | var strRut = new String(rut); 106 | while( strRut.indexOf(".") != -1 ) 107 | { 108 | strRut = strRut.replace(".",""); 109 | } 110 | while( strRut.indexOf("-") != -1 ) 111 | { 112 | strRut = strRut.replace("-",""); 113 | } 114 | 115 | return strRut; 116 | }, 117 | 118 | digitoValido: function(dv) 119 | { 120 | if ( dv != '0' && dv != '1' && dv != '2' && dv != '3' && dv != '4' 121 | && dv != '5' && dv != '6' && dv != '7' && dv != '8' && dv != '9' 122 | && dv != 'k' && dv != 'K') 123 | { 124 | return false; 125 | } 126 | return true; 127 | }, 128 | 129 | digitoCorrecto: function(crut) 130 | { 131 | largo = crut.length; 132 | if ( largo < 2 ) 133 | { 134 | return false; 135 | } 136 | if(largo > 2) 137 | { 138 | rut = crut.substring(0, largo - 1); 139 | } 140 | else 141 | { 142 | rut = crut.charAt(0); 143 | } 144 | dv = crut.charAt(largo-1); 145 | jQuery.Rut.digitoValido(dv); 146 | 147 | if(rut == null || dv == null) 148 | { 149 | return 0; 150 | } 151 | 152 | dvr = jQuery.Rut.getDigito(rut); 153 | 154 | if (dvr != dv.toLowerCase()) 155 | { 156 | return false; 157 | } 158 | return true; 159 | }, 160 | 161 | getDigito: function(rut) 162 | { 163 | var dvr = '0'; 164 | suma = 0; 165 | mul = 2; 166 | for(i=rut.length -1;i >= 0;i--) 167 | { 168 | suma = suma + rut.charAt(i) * mul; 169 | if (mul == 7) 170 | { 171 | mul = 2; 172 | } 173 | else 174 | { 175 | mul++; 176 | } 177 | } 178 | res = suma % 11; 179 | if (res==1) 180 | { 181 | return 'k'; 182 | } 183 | else if(res==0) 184 | { 185 | return '0'; 186 | } 187 | else 188 | { 189 | return 11-res; 190 | } 191 | }, 192 | 193 | validar: function(texto) 194 | { 195 | texto = jQuery.Rut.quitarFormato(texto); 196 | largo = texto.length; 197 | 198 | // rut muy corto 199 | if ( largo < 2 ) 200 | { 201 | return false; 202 | } 203 | 204 | // verifica que los numeros correspondan a los de rut 205 | for (i=0; i < largo ; i++ ) 206 | { 207 | // numero o letra que no corresponda a los del rut 208 | if(!jQuery.Rut.digitoValido(texto.charAt(i))) 209 | { 210 | return false; 211 | } 212 | } 213 | 214 | var invertido = ""; 215 | for(i=(largo-1),j=0; i>=0; i--,j++) 216 | { 217 | invertido = invertido + texto.charAt(i); 218 | } 219 | var dtexto = ""; 220 | dtexto = dtexto + invertido.charAt(0); 221 | dtexto = dtexto + '-'; 222 | cnt = 0; 223 | 224 | for ( i=1,j=2; i=0; i--,j++) 242 | { 243 | invertido = invertido + dtexto.charAt(i); 244 | } 245 | 246 | if (jQuery.Rut.digitoCorrecto(texto)) 247 | { 248 | return true; 249 | } 250 | return false; 251 | } 252 | }; 253 | -------------------------------------------------------------------------------- /site/flora.css: -------------------------------------------------------------------------------- 1 | .ui-wrapper { border: 1px solid #50A029; } 2 | .ui-wrapper input, .ui-wrapper textarea { border: 0; } 3 | -------------------------------------------------------------------------------- /site/flora.tabs.css: -------------------------------------------------------------------------------- 1 | @import "flora.css"; 2 | 3 | /* Caution! Ensure accessibility in print and other media types... */ 4 | @media projection, screen { /* Use class for showing/hiding tab content, so that visibility can be better controlled in different media types... */ 5 | .ui-tabs-hide { 6 | display: none !important; 7 | } 8 | } 9 | 10 | /* Hide useless elements in print layouts... */ 11 | @media print { 12 | .ui-tabs-nav { 13 | display: none; 14 | } 15 | } 16 | 17 | /* Skin */ 18 | .ui-tabs-nav, .ui-tabs-panel { 19 | font-family: "Trebuchet MS", Trebuchet, Verdana, Helvetica, Arial, sans-serif; 20 | font-size: 12px; 21 | } 22 | .ui-tabs-nav { 23 | list-style: none; 24 | margin: 0; 25 | padding: 0 0 0 3px; 26 | } 27 | .ui-tabs-nav:after { /* clearing without presentational markup, IE gets extra treatment */ 28 | display: block; 29 | clear: both; 30 | content: " "; 31 | } 32 | .ui-tabs-nav li { 33 | float: left; 34 | margin: 0 0 0 2px; 35 | font-weight: bold; 36 | } 37 | .ui-tabs-nav a, .ui-tabs-nav a span { 38 | float: left; /* fixes dir=ltr problem and other quirks IE */ 39 | padding: 0 12px; 40 | background: url(tabs.png) no-repeat; 41 | } 42 | .ui-tabs-nav a { 43 | margin: 5px 0 0; /* position: relative makes opacity fail for disabled tab in IE */ 44 | padding-left: 0; 45 | background-position: 100% 0; 46 | text-decoration: none; 47 | white-space: nowrap; /* @ IE 6 */ 48 | outline: 0; /* @ Firefox, prevent dotted border after click */ 49 | } 50 | .ui-tabs-nav a:link, .ui-tabs-nav a:visited { 51 | color: #fff; 52 | } 53 | .ui-tabs-nav .ui-tabs-selected a { 54 | position: relative; 55 | top: 1px; 56 | z-index: 2; 57 | margin-top: 0; 58 | background-position: 100% -23px; 59 | } 60 | .ui-tabs-nav a span { 61 | padding-top: 1px; 62 | padding-right: 0; 63 | height: 20px; 64 | background-position: 0 0; 65 | line-height: 20px; 66 | } 67 | .ui-tabs-nav .ui-tabs-selected a span { 68 | padding-top: 0; 69 | height: 27px; 70 | background-position: 0 -23px; 71 | line-height: 27px; 72 | } 73 | .ui-tabs-nav .ui-tabs-selected a:link, .ui-tabs-nav .ui-tabs-selected a:visited, 74 | .ui-tabs-nav .ui-tabs-disabled a:link, .ui-tabs-nav .ui-tabs-disabled a:visited { /* @ Opera, use pseudo classes otherwise it confuses cursor... */ 75 | cursor: text; 76 | } 77 | .ui-tabs-nav a:hover, .ui-tabs-nav a:focus, .ui-tabs-nav a:active, 78 | .ui-tabs-nav .ui-tabs-unselect a:hover, .ui-tabs-nav .ui-tabs-unselect a:focus, .ui-tabs-nav .ui-tabs-unselect a:active { /* @ Opera, we need to be explicit again here now... */ 79 | cursor: pointer; 80 | } 81 | .ui-tabs-disabled { 82 | opacity: .4; 83 | filter: alpha(opacity=40); 84 | } 85 | .ui-tabs-nav .ui-tabs-disabled a:link, .ui-tabs-nav .ui-tabs-disabled a:visited { 86 | color: #000; 87 | } 88 | .ui-tabs-panel { 89 | border: 1px solid #519e2d; 90 | padding: 10px; 91 | background: #fff; /* declare background color for container to avoid distorted fonts in IE while fading */ 92 | } 93 | /*.ui-tabs-loading em { 94 | padding: 0 0 0 20px; 95 | background: url(loading.gif) no-repeat 0 50%; 96 | }*/ 97 | 98 | /* Additional IE specific bug fixes... */ 99 | * html .ui-tabs-nav { /* auto clear @ IE 6 & IE 7 Quirks Mode */ 100 | display: inline-block; 101 | } 102 | *:first-child+html .ui-tabs-nav { /* auto clear @ IE 7 Standards Mode - do not group selectors, otherwise IE 6 will ignore complete rule (because of the unknown + combinator)... */ 103 | display: inline-block; 104 | } 105 | -------------------------------------------------------------------------------- /site/generador-de-ruts-chilenos-validos.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Generador de ruts chilenos validos 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 35 | 36 | 37 | 38 | 39 | 59 | 60 | 61 |

Generador de rut chileno validos

62 |

Este generador fue creado para desarrolladores, si lo usarás con otros propositos, es 100% tu responsabilidad.

63 |

Generar más!

64 |
65 | 70 | 71 | 72 | -------------------------------------------------------------------------------- /site/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | jQuery Rut Plugin 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 54 | 55 | 105 | 106 | 107 | 108 | Fork me on GitHub 109 |
110 |
111 |
112 | 119 |
120 | 129 | 130 | 131 | 132 | 364 | 365 | 407 | 408 | 409 | 418 | 512 |
513 |
514 | 524 |
525 | 526 | 527 | -------------------------------------------------------------------------------- /site/jquery-ui.js: -------------------------------------------------------------------------------- 1 | eval(function(p,a,c,k,e,d){e=function(c){return(c35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--){d[e(c)]=k[c]||e(c)}k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1};while(c--){if(k[c]){p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c])}}return p}('(3(C){C.8={3o:{19:3(E,D,H){6 G=C.8[E].1h;21(6 F 3p H){G.1I[F]=G.1I[F]||[];G.1I[F].28([D,H[F]])}},2P:3(D,F,E){6 H=D.1I[F];5(!H){7}21(6 G=0;G\').j(D).n({3q:"3i",2g:"-2A",3g:"-2A",1r:"1w"}).22("2C");C.8.1l[D]=!!((!(/3I|3P/).12(E.n("3z"))||(/^[1-9]/).12(E.n("2T"))||(/^[1-9]/).12(E.n("2E"))||!(/2v/).12(E.n("3w"))||!(/3S|3C\\(0, 0, 0, 0\\)/).12(E.n("3D"))));3E{C("2C").2w(0).3B(E.2w(0))}3x(F){}7 C.8.1l[D]},3y:3(D){C(D).v("1p","2I").n("2q","2v")},3H:3(D){C(D).v("1p","3O").n("2q","")},3Q:3(G,D){6 F=/2g/.12(D||"2g")?"3N":"3M",E=e;5(G[F]>0){7 t}G[F]=1;E=G[F]>0?t:e;G[F]=0;7 E}};6 A=C.2e.W;C.2e.W=3(){C("*",2).19(2).z("W");7 A.1H(2,2M)};3 B(F,D,G){6 E=C[F][D].35||[];E=(1F E=="1E"?E.2h(/,?\\s+/):E);7(C.1j(G,E)!=-1)}C.1i=3(D,E){6 F=D.2h(".")[0];D=D.2h(".")[1];C.2e[D]=3(J){6 H=(1F J=="1E"),I=2D.1h.3J.2P(2M,1);5(H&&B(F,D,J)){6 G=C.i(2[0],D);7(G?G[J].1H(G,I):1n)}7 2.14(3(){6 K=C.i(2,D);5(H&&K&&C.3v(K[J])){K[J].1H(K,I)}o{5(!H){C.i(2,D,3e C[F][D](2,J))}}})};C[F][D]=3(H,I){6 G=2;2.15=D;2.2H=F+"-"+D;2.b=C.1A({},C.1i.1k,C[F][D].1k,I);2.c=C(H).u("1e."+D,3(L,J,K){7 G.1e(J,K)}).u("2j."+D,3(K,J){7 G.2j(J)}).u("W",3(){7 G.1b()});2.23()};C[F][D].1h=C.1A({},C.1i.1h,E)};C.1i.1h={23:3(){},1b:3(){2.c.1q(2.15)},2j:3(D){7 2.b[D]},1e:3(D,E){2.b[D]=E;5(D=="f"){2.c[E?"j":"r"](2.2H+"-f")}},1X:3(){2.1e("f",e)},1P:3(){2.1e("f",t)}};C.1i.1k={f:e};C.8.2J={3h:3(){6 D=2;2.c.u("3d."+2.15,3(E){7 D.2G(E)});5(C.x.13){2.2K=2.c.v("1p");2.c.v("1p","2I")}2.3c=e},38:3(){2.c.16("."+2.15);(C.x.13&&2.c.v("1p",2.2K))},2G:3(F){(2.V&&2.1o(F));2.1C=F;6 D=2,G=(F.39==1),E=(1F 2.b.25=="1E"?C(F.2f).2x().19(F.2f).y(2.b.25).k:e);5(!G||E||!2.2S(F)){7 t}2.1D=!2.b.26;5(!2.1D){2.3a=1x(3(){D.1D=t},2.b.26)}5(2.2m(F)&&2.1T(F)){2.V=(2.1U(F)!==e);5(!2.V){F.3b();7 t}}2.2n=3(H){7 D.2r(H)};2.2l=3(H){7 D.1o(H)};C(2N).u("2O."+2.15,2.2n).u("2t."+2.15,2.2l);7 e},2r:3(D){5(C.x.13&&!D.3j){7 2.1o(D)}5(2.V){2.1V(D);7 e}5(2.2m(D)&&2.1T(D)){2.V=(2.1U(2.1C,D)!==e);(2.V?2.1V(D):2.1o(D))}7!2.V},1o:3(D){C(2N).16("2O."+2.15,2.2n).16("2t."+2.15,2.2l);5(2.V){2.V=e;2.2u(D)}7 e},2m:3(D){7(29.3m(29.2z(2.1C.2L-D.2L),29.2z(2.1C.2s-D.2s))>=2.b.2F)},1T:3(D){7 2.1D},1U:3(D){},1V:3(D){},2u:3(D){},2S:3(D){7 t}};C.8.2J.1k={25:U,2F:1,26:0}})(27);(3(A){A.1i("8.4",{23:3(){2.b.Z+=".4";2.1m(t)},1e:3(B,C){5((/^d/).12(B)){2.1v(C)}o{2.b[B]=C;2.1m()}},k:3(){7 2.$4.k},1Q:3(B){7 B.2R&&B.2R.1g(/\\s/g,"2Q").1g(/[^A-4o-4x-9\\-2Q:\\.]/g,"")||2.b.2X+A.i(B)},8:3(C,B){7{b:2.b,4u:C,30:B,11:2.$4.11(C)}},1m:3(P){2.$l=A("1O:4p(a[p])",2.c);2.$4=2.$l.1G(3(){7 A("a",2)[0]});2.$h=A([]);6 O=2,E=2.b;2.$4.14(3(R,Q){5(Q.X&&Q.X.1g("#","")){O.$h=O.$h.19(Q.X)}o{5(A(Q).v("p")!="#"){A.i(Q,"p.4",Q.p);A.i(Q,"q.4",Q.p);6 T=O.1Q(Q);Q.p="#"+T;6 S=A("#"+T);5(!S.k){S=A(E.2d).v("1s",T).j(E.1u).4l(O.$h[R-1]||O.c);S.i("1b.4",t)}O.$h=O.$h.19(S)}o{E.f.28(R+1)}}});5(P){2.c.j(E.2b);2.$h.14(3(){6 Q=A(2);Q.j(E.1u)});5(E.d===1n){5(20.X){2.$4.14(3(T,Q){5(Q.X==20.X){E.d=T;5(A.x.13||A.x.43){6 S=A(20.X),R=S.v("1s");S.v("1s","");1x(3(){S.v("1s",R)},44)}4m(0,0);7 e}})}o{5(E.1c){6 I=46(A.1c("8-4"+A.i(O.c)),10);5(I&&O.$4[I]){E.d=I}}o{5(O.$l.y("."+E.m).k){E.d=O.$l.11(O.$l.y("."+E.m)[0])}}}}E.d=E.d===U||E.d!==1n?E.d:0;E.f=A.41(E.f.40(A.1G(2.$l.y("."+E.1a),3(R,Q){7 O.$l.11(R)}))).31();5(A.1j(E.d,E.f)!=-1){E.f.3V(A.1j(E.d,E.f),1)}2.$h.j(E.18);2.$l.r(E.m);5(E.d!==U){2.$h.w(E.d).1S().r(E.18);2.$l.w(E.d).j(E.m);6 B=3(){A(O.c).z("1K",[O.Y("1K"),O.8(O.$4[E.d],O.$h[E.d])],E.1S)};5(A.i(2.$4[E.d],"q.4")){2.q(E.d,B)}o{B()}}A(3U).u("3W",3(){O.$4.16(".4");O.$l=O.$4=O.$h=U})}21(6 H=0,N;N=2.$l[H];H++){A(N)[A.1j(H,E.f)!=-1&&!A(N).1f(E.m)?"j":"r"](E.1a)}5(E.17===e){2.$4.1q("17.4")}6 J,D,K={"3X-2E":0,1R:1},F="3Z";5(E.1d&&E.1d.3Y==2D){J=E.1d[0]||K,D=E.1d[1]||K}o{J=D=E.1d||K}6 C={1r:"",47:"",2T:""};5(!A.x.13){C.1W=""}3 M(R,Q,S){Q.2p(J,J.1R||F,3(){Q.j(E.18).n(C);5(A.x.13&&J.1W){Q[0].2B.y=""}5(S){L(R,S,Q)}})}3 L(R,S,Q){5(D===K){S.n("1r","1w")}S.2p(D,D.1R||F,3(){S.r(E.18).n(C);5(A.x.13&&D.1W){S[0].2B.y=""}A(O.c).z("1K",[O.Y("1K"),O.8(R,S[0])],E.1S)})}3 G(R,T,Q,S){T.j(E.m).4k().r(E.m);M(R,Q,S)}2.$4.16(".4").u(E.Z,3(){6 T=A(2).2x("1O:w(0)"),Q=O.$h.y(":4e"),S=A(2.X);5((T.1f(E.m)&&!E.1z)||T.1f(E.1a)||A(2).1f(E.1t)||A(O.c).z("2y",[O.Y("2y"),O.8(2,S[0])],E.1v)===e){2.1M();7 e}O.b.d=O.$4.11(2);5(E.1z){5(T.1f(E.m)){O.b.d=U;T.r(E.m);O.$h.1Y();M(2,Q);2.1M();7 e}o{5(!Q.k){O.$h.1Y();6 R=2;O.q(O.$4.11(2),3(){T.j(E.m).j(E.2c);L(R,S)});2.1M();7 e}}}5(E.1c){A.1c("8-4"+A.i(O.c),O.b.d,E.1c)}O.$h.1Y();5(S.k){6 R=2;O.q(O.$4.11(2),Q.k?3(){G(R,T,Q,S)}:3(){T.j(E.m);L(R,S)})}o{4b"27 4c 4d: 3n 49 4a."}5(A.x.13){2.1M()}7 e});5(!(/^24/).12(E.Z)){2.$4.u("24.4",3(){7 e})}},19:3(E,D,C){5(C==1n){C=2.$4.k}6 G=2.b;6 I=A(G.37.1g(/#\\{p\\}/g,E).1g(/#\\{1L\\}/g,D));I.i("1b.4",t);6 H=E.4i("#")==0?E.1g("#",""):2.1Q(A("a:4g-4h",I)[0]);6 F=A("#"+H);5(!F.k){F=A(G.2d).v("1s",H).j(G.18).i("1b.4",t)}F.j(G.1u);5(C>=2.$l.k){I.22(2.c);F.22(2.c[0].48)}o{I.36(2.$l[C]);F.36(2.$h[C])}G.f=A.1G(G.f,3(K,J){7 K>=C?++K:K});2.1m();5(2.$4.k==1){I.j(G.m);F.r(G.18);6 B=A.i(2.$4[0],"q.4");5(B){2.q(C,B)}}2.c.z("2Y",[2.Y("2Y"),2.8(2.$4[C],2.$h[C])],G.19)},W:3(B){6 D=2.b,E=2.$l.w(B).W(),C=2.$h.w(B).W();5(E.1f(D.m)&&2.$4.k>1){2.1v(B+(B+1<2.$4.k?1:-1))}D.f=A.1G(A.34(D.f,3(G,F){7 G!=B}),3(G,F){7 G>=B?--G:G});2.1m();2.c.z("2V",[2.Y("2V"),2.8(E.2k("a")[0],C[0])],D.W)},1X:3(B){6 C=2.b;5(A.1j(B,C.f)==-1){7}6 D=2.$l.w(B).r(C.1a);5(A.x.4n){D.n("1r","4t-1w");1x(3(){D.n("1r","1w")},0)}C.f=A.34(C.f,3(F,E){7 F!=B});2.c.z("33",[2.Y("33"),2.8(2.$4[B],2.$h[B])],C.1X)},1P:3(C){6 B=2,D=2.b;5(C!=D.d){2.$l.w(C).j(D.1a);D.f.28(C);D.f.31();2.c.z("32",[2.Y("32"),2.8(2.$4[C],2.$h[C])],D.1P)}},1v:3(B){5(1F B=="1E"){B=2.$4.11(2.$4.y("[p$="+B+"]")[0])}2.$4.w(B).4q(2.b.Z)},q:3(G,K){6 L=2,D=2.b,E=2.$4.w(G),J=E[0],H=K==1n||K===e,B=E.i("q.4");K=K||3(){};5(!B||!H&&A.i(J,"17.4")){K();7}6 M=3(N){6 O=A(N),P=O.2k("*:4s");7 P.k&&P.4v(":45(3R)")&&P||O};6 C=3(){L.$4.y("."+D.1t).r(D.1t).14(3(){5(D.1N){M(2).3l().1B(M(2).i("1L.4"))}});L.1y=U};5(D.1N){6 I=M(J).1B();M(J).3k("<2o>").2k("2o").i("1L.4",I).1B(D.1N)}6 F=A.1A({},D.1J,{2U:B,2i:3(O,N){A(J.X).1B(O);C();5(D.17){A.i(J,"17.4",t)}A(L.c).z("2Z",[L.Y("2Z"),L.8(L.$4[G],L.$h[G])],D.q);D.1J.2i&&D.1J.2i(O,N);K()}});5(2.1y){2.1y.3f();C()}E.j(D.1t);1x(3(){L.1y=A.3u(F)},0)},2U:3(C,B){2.$4.w(C).1q("17.4").i("q.4",B)},1b:3(){6 B=2.b;2.c.16(".4").r(B.2b).1q("4");2.$4.14(3(){6 C=A.i(2,"p.4");5(C){2.p=C}6 D=A(2).16(".4");A.14(["p","q","17"],3(F,E){D.1q(E+".4")})});2.$l.19(2.$h).14(3(){5(A.i(2,"1b.4")){A(2).W()}o{A(2).r([B.m,B.2c,B.1a,B.1u,B.18].3G(" "))}})},Y:3(B){7 A.Z.3L({3t:B,2f:2.c[0]})}});A.8.4.1k={1z:e,Z:"24",f:[],1c:U,1N:"3FA;",17:e,2X:"8-4-",1J:{},1d:U,37:\'<1O><2W>#{1L}\',2d:"<2a>",2b:"8-4-3K",m:"8-4-d",2c:"8-4-1z",1a:"8-4-f",1u:"8-4-30",18:"8-4-3T",1t:"8-4-4w"};A.8.4.35="k";A.1A(A.8.4.1h,{1Z:U,4r:3(C,F){F=F||e;6 B=2,E=2.b.d;3 G(){B.1Z=42(3(){E=++E3){r="."+n.substr(n.length-3)+r;n=n.substring(0,n.length-3)}r=n+r;if(r!=""&&t){r+="-"+i}else if(t){r+=i}return r},quitarFormato:function(e){var t=new String(e);while(t.indexOf(".")!=-1){t=t.replace(".","")}while(t.indexOf("-")!=-1){t=t.replace("-","")}return t},digitoValido:function(e){if(e!="0"&&e!="1"&&e!="2"&&e!="3"&&e!="4"&&e!="5"&&e!="6"&&e!="7"&&e!="8"&&e!="9"&&e!="k"&&e!="K"){return false}return true},digitoCorrecto:function(e){largo=e.length;if(largo<2){return false}if(largo>2){rut=e.substring(0,largo-1)}else{rut=e.charAt(0)}dv=e.charAt(largo-1);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(e){var t="0";suma=0;mul=2;for(i=e.length-1;i>=0;i--){suma=suma+e.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}},validar:function(e){e=jQuery.Rut.quitarFormato(e);largo=e.length;if(largo<2){return false}for(i=0;i=0;i--,j++){t=t+e.charAt(i)}var n="";n=n+t.charAt(0);n=n+"-";cnt=0;for(i=1,j=2;i=0;i--,j++){t=t+n.charAt(i)}if(jQuery.Rut.digitoCorrecto(e)){return true}return false}} 2 | -------------------------------------------------------------------------------- /site/style.css: -------------------------------------------------------------------------------- 1 | * { 2 | margin: 0; 3 | padding: 0; 4 | } 5 | 6 | body { 7 | font-family: "lucida grande",tahoma,verdana,arial,sans-serif; 8 | background: #fff; 9 | color: #333; 10 | padding-bottom: 25px; 11 | } 12 | 13 | a { 14 | color: #3B5998; 15 | text-decoration: none; 16 | } 17 | 18 | a:hover { 19 | text-decoration: underline; 20 | } 21 | 22 | p { 23 | font-size: 12px; 24 | margin: 10px 0; 25 | } 26 | 27 | ul li { 28 | list-style: none; 29 | display: inline; 30 | } 31 | 32 | li { 33 | padding: 2px 5px; 34 | } 35 | 36 | .right { 37 | float: right; 38 | } 39 | 40 | .amp { 41 | font-family: Georgia; 42 | } 43 | 44 | .bolder { 45 | background: red; 46 | color: white; 47 | font-size: 20px; 48 | padding: 20px; 49 | width: 500px; 50 | } 51 | 52 | textarea { 53 | height: 400px; 54 | width: 600px; 55 | } 56 | 57 | #main { 58 | margin: 30px auto; 59 | width: 730px; 60 | } 61 | 62 | #shadow { 63 | border-bottom: 1px solid #ddd; 64 | margin: 2px 0px 0px 1px; 65 | padding: 0; 66 | } 67 | 68 | #content { 69 | border-color:#3B5998 #B7B7B7; 70 | border-style:solid; 71 | border-width:1px; 72 | margin:-2px 1px 0 -1px; 73 | padding:20px; 74 | } 75 | 76 | #logo { 77 | margin-bottom: 20px; 78 | text-align: center; 79 | } 80 | 81 | .example { 82 | margin-bottom: 40px; 83 | } 84 | 85 | .example h2 { 86 | border-bottom: 1px solid #D8DFEA; 87 | margin-bottom: 10px; 88 | font-size: 14px; 89 | padding: 0; 90 | margin: 0; 91 | } 92 | 93 | .example ul li { 94 | font-size: 12px; 95 | } 96 | 97 | .code { 98 | background: #F7F7F7; 99 | border-top: 1px solid #EBEBEB; 100 | border-bottom: 1px solid #EBEBEB; 101 | padding: 10px; 102 | } 103 | 104 | .code h3 { 105 | font-size: 11px; 106 | } 107 | 108 | .code code { 109 | margin: 10px 0; 110 | display: block; 111 | } 112 | 113 | #screenshots a { 114 | border: none; 115 | } 116 | 117 | #screenshots img { 118 | padding: 3px; 119 | border: 1px solid #ddd; 120 | background: #fff; 121 | } 122 | 123 | #footer { 124 | padding: 8px 10px 0px; 125 | color: #777; 126 | line-height: 16px; 127 | font-size: 11px; 128 | } 129 | 130 | #footer p { 131 | margin: 0; 132 | } 133 | -------------------------------------------------------------------------------- /site/tabs.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/joaquinnunez/jQuery-Rut-Plugin/b7b367be09c0d135414d1974b73ea73d5e26ed87/site/tabs.png --------------------------------------------------------------------------------