P

phpjs

Usuario (Argentina)

Primer post: 22 nov 2011Último post: 25 jul 2013
3
Posts
56
Puntos totales
0
Comentarios
C
Código javascript para validar CUIT / CUIL para Argentina
OfftopicporAnónimo11/22/2011

Amigos, Les paso el código en javascript de la función un poco más simplificada que recomiendo que pasé de VB a javascript de un viejo código de la revista PCUsers: Espero que me voten!! function validaCuit(sCUIT) { var aMult = '6789456789'; var aMult = aMult.split(''); var sCUIT = String(sCUIT); var iResult = 0; var aCUIT = sCUIT.split(''); if (aCUIT.length == 11) { // La suma de los productos for(var i = 0; i <= 9; i++) { iResult += aCUIT * aMult; } // El módulo de 11 iResult = (iResult % 11); // Se compara el resultado con el dígito verificador return (iResult == aCUIT[10]); } return false; } Hice otra versión basada en este post: function validaCuit(sCUIT) { var aMult = '5432765432'; var aMult = aMult.split(''); if (sCUIT && sCUIT.length == 11) { aCUIT = sCUIT.split(''); var iResult = 0; for(i = 0; i <= 9; i++) { iResult += aCUIT * aMult; } iResult = (iResult % 11); iResult = 11 - iResult; if (iResult == 11) iResult = 0; if (iResult == 10) iResult = 9; if (iResult == aCUIT[10]) { return true; } } return false; } Actualización Sept 2012: En esta edición corregí un error en la función basada en este mismo post donde decia "< 9" tenia que decir "<= 9" Saludos y espero que me voten!! Matias

25
2
J
Javascript - diferencia en dias entre dos fechas
OfftopicporAnónimo7/23/2013

Bueno, acá les dejo otro aporte, pasó un año pero más vale tarde que nunca. Recuerden que en javascript los meses van desde el 0 hasta el 11, siendo 0 enero y 11 diciembre. /**  *    Devuelve la diferencia en dias entre dos fechas  *    Se esperan fechas con formato:  *        d/m/aaaa hh:mm:ss:ms  *    puede ser:  *        mes/anio, d/m/aaaa, d/m/aaaa hh, d/m/aaaa hh:mm, d/m/aaaa hh:mm:ss, d/m/aaaa hh:mm:ss:ms  *    Si el dia no es provisto se utiliza "1" para el mismo.  *  * @author Matias Perrone - Global Innovation - http://www.globalinnovation.com.ar  * @param    string     fecha1        La fecha hasta  * @param    string    fecha2        La fecha desde  * @returns int  */ function dateTimeDiff(fecha1, fecha2) {     var vecFecha1, vecFecha2, diff;     // Si no son válidas     if(fecha1.length <= 0 || fecha2.length <= 0)         return 0;     // Array con la fecha     vecFechaHora1 = fecha1.split(' ');     vecFechaHora2 = fecha2.split(' ');     vecFecha1 = vecFechaHora1[0].split('/');     vecFecha2 = vecFechaHora2[0].split('/');     if (vecFechaHora1.length > 1)         vecHora1 = vecFechaHora1[1].split(':');     else         vecHora1 = new Array();     if (vecFechaHora2.length > 1)         vecHora2 = vecFechaHora2[1].split(':');     else         vecHora2 = new Array();     if (vecFecha1.length >= 2)     {         if (vecFecha1.length == 2)             date1 = Date.UTC(vecFecha1[0], (vecFecha1[1] - 1), 1);         else if (vecHora1.length == 0 &&  vecFecha1.length == 3)             date1 = Date.UTC(vecFecha1[2], (vecFecha1[1] - 1), vecFecha1[0]);         else if (vecHora1.length == 1 &&  vecFecha1.length == 3)             date1 = Date.UTC(vecFecha1[2], (vecFecha1[1] - 1), vecFecha1[0], vecHora1[0]);         else if (vecHora1.length == 2 &&  vecFecha1.length == 3)             date1 = Date.UTC(vecFecha1[2], (vecFecha1[1] - 1), vecFecha1[0], vecHora1[0], vecHora1[1]);         else if (vecHora1.length == 3 &&  vecFecha1.length == 3)             date1 = Date.UTC(vecFecha1[2], (vecFecha1[1] - 1), vecFecha1[0], vecHora1[0], vecHora1[1], vecHora1[2]);         else if (vecHora1.length == 4 &&  vecFecha1.length == 3)             date1 = Date.UTC(vecFecha1[2], (vecFecha1[1] - 1), vecFecha1[0], vecHora1[0], vecHora1[1], vecHora1[2], vecHora1[3]);         else             return 0;         ////////////////////////////////////////////////////////////////////////////////////////////////////////////         if (vecFecha2.length == 2)             date2 = Date.UTC(vecFecha2[0], (vecFecha2[1] - 1));         else if (vecHora2.length == 0 &&  vecFecha2.length == 3)             date2 = Date.UTC(vecFecha2[2], (vecFecha2[1] - 1), vecFecha2[0]);         else if (vecHora2.length == 1 &&  vecFecha2.length == 3)             date2 = Date.UTC(vecFecha2[2], (vecFecha2[1] - 1), vecFecha2[0], vecHora2[0]);         else if (vecHora2.length == 2 &&  vecFecha2.length == 3)             date2 = Date.UTC(vecFecha2[2], (vecFecha2[1] - 1), vecFecha2[0], vecHora2[0], vecHora2[1]);         else if (vecHora2.length == 3 &&  vecFecha2.length == 3)             date2 = Date.UTC(vecFecha2[2], (vecFecha2[1] - 1), vecFecha2[0], vecHora2[0], vecHora2[1], vecHora2[2]);         else if (vecHora2.length == 4 &&  vecFecha2.length == 3)             date2 = Date.UTC(vecFecha2[2], (vecFecha2[1] - 1), vecFecha2[0], vecHora2[0], vecHora2[1], vecHora2[2], vecHora2[3]);         else             return 0;     }     else         return 0;     // Los meses van del 0 al 11 en JavaScript     // new Date (year, month [, date [, hours [, minutes [, seconds [, ms ] ] ] ] ] )     // getTime() devuelve la cantidad de milisegundos     // desde 1 de Enero de 1970.     diff = date1 - date2;     // 86400000 es la cantidad de milisegundos en un dia     if (!isNaN(diff))         return (diff/86400000 * -1);     else         return 0; }

11
0
J
Javascript, diferencia en dias, meses y/o años entre fechas
OfftopicporAnónimo7/25/2013

A tono con la onda del último post "Diferencia en dias entre dos fechas" pensé en dejarles esta otra función que a mi me sirvió un montón y es a prueba de balas, es decir, esta recontra probada en varios sistemas internos y webs de empresas que usan esto diariamente: /** * Devuelve un objeto con atributos days, months, years (sólo si * bIncludeYears es verdadero), from, until o falso si la fechas no * son válidas * [email protected]://www.globalinnovation.com.ar [email protected] [email protected]echa desde [email protected]fecha hasta [email protected] El formato de las fechas. default: dd/mm/yyyy [email protected] Separador opcional. default: / [email protected] Calcula los años y los resta de los meses [email protected] Muestra por consola, en los navegadores que la soporten, datos de debug. Default: false [email protected]"days", "months", "years" (if bIncludeYears is true), "from" and "until" as attributes */ function dateDiff2(sFechaDesde, sFechaHasta, sFormato, sSeparator, bIncludeYears, bDebug) { bIncludeYears = (bIncludeYears ? true : false); sSeparator = (sSeparator ? sSeparator : '/'); bDebug = ((bDebug ? true : false) ? (console ? true : false) : false); var aFecha1, aFecha2, diff; var oFormato = eval('({"dd": 0,"mm": 1,"yyyy": 2})'); if (bIncludeYears) var oReturn = eval('({"days": 0, "months": 0, "years": 0, "from":"' + sFechaDesde + '", "until":"' + sFechaHasta + '"})'); else var oReturn = eval('({"days": 0, "months": 0 , "from":"' + sFechaDesde + '", "until":"' + sFechaHasta + '"})'); // Formato if (!sFormato) { sFormato = 'dd/mm/yyyy'; } else { var aFormato = sFormato.split(sSeparator); for(iPos in aFormato) { eval('oFormato.' + aFormato + ' = ' + String(iPos)); iPos++; } } if (bDebug) console.log('Formato: ' + sFormato, aFormato, oFormato); // Validez if (!ValidarFecha(sFechaHasta, sFormato) || !ValidarFecha(sFechaDesde, sFormato)) { if (bDebug) console.log('Fecha(s) no válida(s): ' + sFechaHasta + ' al ' + sFechaDesde); return false; } // Date validity var aFechaDesde = sFechaDesde.split('/'); var iDesdeDD = parseInt(aFechaDesde[oFormato.dd ], 10); var iDesdeMM = parseInt(aFechaDesde[oFormato.mm ], 10); var iDesdeYY = parseInt(aFechaDesde[oFormato.yyyy], 10); if (bDebug) console.log('Fecha Desde - Array - DD MM YYYY: ', aFechaDesde, iDesdeDD, iDesdeMM, iDesdeYY); var aFechaHasta = sFechaHasta.split('/'); var iHastaDD = parseInt(aFechaHasta[oFormato.dd ], 10); var iHastaMM = parseInt(aFechaHasta[oFormato.mm ], 10); var iHastaYY = parseInt(aFechaHasta[oFormato.yyyy], 10); if (bDebug) console.log('Fecha Hasta - Array - DD MM YYYY: ', aFechaHasta, iHastaDD, iHastaMM, iHastaYY); // mismo año y mes if (iDesdeYY == iHastaYY && iDesdeMM == iHastaMM) { oReturn.months = 0; if (bDebug) console.log('mismo año y mismo mes'); } // mismo año y distinto mes else if (iDesdeYY == iHastaYY && iDesdeMM != iHastaMM) { oReturn.months = (iHastaMM - iDesdeMM); if (bDebug) console.log('mismo año y distinto mes'); } // distinto año else { // Meses de diferencia por años oReturn.months = ((iHastaYY - iDesdeYY) * 12); // Meses de diferencia en el año coincidente if (iHastaMM > iDesdeMM) oReturn.months += (iHastaMM - iDesdeMM); else oReturn.months += (iHastaMM + (12 - iDesdeMM) - 12); if (bDebug) console.log('distinto año'); } // Años if (bIncludeYears) { if (bDebug) console.log('Calcula los años'); oReturn.years = Math.floor(oReturn.months / 12); oReturn.months -= oReturn.years * 12; } // Dias de diferencia // hasta es mayor o igual if (iHastaDD >= iDesdeDD) { oReturn.days = iHastaDD - iDesdeDD; if (bDebug) console.log('Dias de diferencia -> Dia hasta es mayor o igual'); } // hasta es menor else { if (oReturn.months) oReturn.months--; var dd = new Date(iHastaYY, (iHastaMM - 1), 0); // El mes empieza en 0 var iDiasMesAnterior = dd.getDate(); oReturn.days = iHastaDD + iDiasMesAnterior - iDesdeDD; if (bDebug) console.log('iHastaDD + iDiasMesAnterior - iDesdeDD: ', iHastaDD, iDiasMesAnterior, iDesdeDD); if (bDebug) console.log('Dias de diferencia -> Dia hasta es menor, se restan meses'); } if (bDebug) console.log('Se retorna: ', oReturn); return oReturn; }

20
1
PosteameloArchivo Histórico de Taringa! (2004-2017). Preservando la inteligencia colectiva de la internet hispanohablante.

CONTACTO

18 de Septiembre 455, Casilla 52

Chillán, Región de Ñuble, Chile

Solo correo postal

© 2026 Posteamelo.com. No afiliado con Taringa! ni sus sucesores.

Contenido preservado con fines históricos y culturales.