Código de JavaScript - Verificacion del Nit

Verificacion del Nitgráfica de visualizaciones


JavaScript

estrellaestrellaestrellaestrellaestrella(8)
Publicado el 09 de Mayo del 2004 por Oscar
20.892 visualizaciones desde el 09 de Mayo del 2004. Una media de 35 por semana
Código en JavaScript para verificar el Nit de las empresas para Colombia.

Versión 1
estrellaestrellaestrellaestrellaestrella(8)

Publicado el 09 de Mayo del 2004gráfica de visualizaciones de la versión: Versión 1
20.893 visualizaciones desde el 09 de Mayo del 2004. Una media de 35 por semana
estrellaestrellaestrellaestrellaestrella
estrellaestrellaestrellaestrella
estrellaestrellaestrella
estrellaestrella
estrella

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
<html>
<head>
<title>Validacion Nit</title>
</head>
<body>
<script language="JavaScript" type="text/javascript">
<!--
function validar() { 
foundError = false; 
showError = false; 
	if(!isCheckOK() && showError == false){ 
		alert("Error en el dígito de verificación del NIT"); 
		document.forma1.chequeo.focus(); 
		document.forma1.chequeo.select(); 
		foundError = true; showError = true; 
	} 
	else
		alert("Nit Correcto!");
}
				 
function isCheckOK() { 
	ceros = "000000"; 
	li_peso= new Array(); 
	li_peso[0] = 71; 
	li_peso[1] = 67; 
	li_peso[2] = 59; 
	li_peso[3] = 53; 
	li_peso[4] = 47; 
	li_peso[5] = 43; 
	li_peso[6] = 41; 
	li_peso[7] = 37; 
	li_peso[8] = 29; 
	li_peso[9] = 23; 
	li_peso[10] = 19; 
	li_peso[11] = 17; 
	li_peso[12] = 13; 
	li_peso[13] = 7; 
	li_peso[14] = 3; 
	
	ls_str_nit = ceros + document.forma1.nit.value; 
	li_suma = 0; 
	for(i = 0; i < 15; i++){ 
				li_suma += ls_str_nit.substring(i,i+1) * li_peso[i]; 
	} 
	digito_chequeo = li_suma%11; 
	if (digito_chequeo >= 2) 
		digito_chequeo = 11 - digito_chequeo; 
	if(document.forma1.chequeo.value != digito_chequeo){ 
		return false; 
	} 
	else 
		return true; 
}
//-->
</script>
<form name ="forma1" action="" method="get">
<input name="nit" type="text" size="9" maxlength="9" ma>
<input name="chequeo" type="text" size="1" maxlength="1">
<input type="button" value="Checkealo!" onclick="validar();">
</form>
</body>
</html>



Comentarios sobre la versión: Versión 1 (8)

Giox
15 de Mayo del 2004
estrellaestrellaestrellaestrellaestrella
ta bueno el js, de pronto me sirva para algun desarrollo, buena por compartir el codigo,

Saludos desde Bogota
Giox
Responder
alexander
29 de Julio del 2004
estrellaestrellaestrellaestrellaestrella
deberia tener un metodo numero este solo funciona en algunos casos
Responder
Oscar Galvis
12 de Septiembre del 2004
estrellaestrellaestrellaestrellaestrella
a Q te refieres alexander?
Responder
Fernando
26 de Septiembre del 2004
estrellaestrellaestrellaestrellaestrella
Felicitaciones!!!!! Es bueno compartir el conocimiento.
Estoy empesando a desarrollar sitios web, pienso que me servira en el futuro
Me gustaria estar en contacto ya que compartimos la misma nacionalidad.
Suerte y exito en sus labores.
Responder
dfm_77
19 de Mayo del 2005
estrellaestrellaestrellaestrellaestrella
Muy bueno, lo estuve buscando y lo encontre portegido en excel(egoista), pero ahora este tambien sirve para obtener el digito de verificacion, solo adiciona una linea de codigo y listo.
Responder
Camilo
13 de Julio del 2005
estrellaestrellaestrellaestrellaestrella
Este código no funciona correctamente, y el problema está en que agrega 6 '0' fijos. lo cual aplica solo para unos casos, yo lo hice de una forma fàcil para arreglar el problema, claro que tambien se puede hacer con un for, ahhh, y felicitaciones por su trabajo, me parece muy bueno:

<script language="JavaScript" type="text/javascript">
<!--

function isCheckOK() {
nume = parseInt(document.forma1.nit.value);
if(nume >= 1)
ceros = "00000000000000";
if(nume >= 10)
ceros = "0000000000000";
if(nume >= 100)
ceros = "000000000000";
if(nume >= 1000)
ceros = "00000000000";
if(nume >= 10000)
ceros = "0000000000";
if(nume >= 100000)
ceros = "000000000";
if(nume >= 1000000)
ceros = "00000000";
if(nume >= 10000000)
ceros = "0000000";
if(nume >= 100000000)
ceros = "000000";
if(nume >= 1000000000)
ceros = "00000";
if(nume >= 10000000000)
ceros = "0000";
if(nume >= 100000000000)
ceros = "000";
if(nume >= 1000000000000)
ceros = "00";
if(nume >= 10000000000000)
ceros = "0";
if(nume >= 100000000000000)
ceros = "";


li_peso= new Array();
li_peso[0] = 71;
li_peso[1] = 67;
li_peso[2] = 59;
li_peso[3] = 53;
li_peso[4] = 47;
li_peso[5] = 43;
li_peso[6] = 41;
li_peso[7] = 37; //8
li_peso[8] = 29; //3
li_peso[9] = 23; //0
li_peso[10] = 19; //1
li_peso[11] = 17; //2
li_peso[12] = 13; //0
li_peso[13] = 7; //9
li_peso[14] = 3; //9

ls_str_nit = ceros + document.forma1.nit.value;
li_suma = 0;
for(i = 0; i < 15; i++){
li_suma += ls_str_nit.substring(i,i+1) * li_peso[i];
}
digito_chequeo = li_suma%11;
if (digito_chequeo >= 2)
digito_chequeo = 11 - digito_chequeo;
document.forma1.chequeo.value = digito_chequeo;
}
//-->
</script>
<form name ="forma1" action="" method="get">
<input name="nit" type="text" size="9" maxlength="9" ma>
<input name="chequeo" type="text" size="20" maxlength="20">
<input type="button" value="Checkealo!" onclick="isCheckOK();">
</form>
Responder
Leonardo Romero
02 de Noviembre del 2005
estrellaestrellaestrellaestrellaestrella
Gracias por ese codigo me ha sido de mucha ayuda pense que no funcionaba pero me equivoque
Responder
Janeth Lizardo
15 de Marzo del 2006
estrellaestrellaestrellaestrellaestrella
Si funciona, me ayudó mucho. Gracias.
Responder

Comentar la versión: Versión 1

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios

http://lwp-l.com/s1047