Como validar el RUC(ecuatoriano) y pasaporte

Imagen de flaqui

Forums: 

Hola a todos, necesito ayuda, en un formulario en php necesito validar si son correctos el ingreso del numero de ruc y tambien el pasaporte, xfa si alguien sabe como hacer esto se lo agradesco de antemano, ayudenme.... By By!!!

Validar cedula

Imagen de georgef512

Yo se como sacar el 10 digito de la cedula inclusive he hecho el programa para validar se llama "digito verificador" te lo puedo mandar via mail porque ahorita NO lo tengo a mano tengo que ir a mi máquina y buscarlo, lo he hecho en Pascal, C++, y JavaScript este es el último, si te interesa escribeme. y mandame tu E-mail

Validar cedula c++

hola georgef512 me puedes ayudar con el codigo en c++ de la validacion de cedula por fis mi correo electronico es ceci8_1586@hotmail.com... ayudame por fis

ayuda

disculpa amiga me preguntaba si ya tienes el codigo para validar la cedula en c++ y si porfavor me lo puedes pasar te lo agradeceria mucho lo necesito te dejo mi correo nelson_vacan@hotmail.com muchas gracias y disculpa la molestia

responder

hola georgef512 te pido te suplico que me envies en c++ o asi no mas explicandome la validacion de cedula o como sacar el digito 10 de la cedula de identidad te lo pido por favor hoy mismo si es que puede necesito urgente.
GRACIAS ES URGENTE

validar en c++

disculpa amigo porfavor mandame el codigo para c++ lo necesito mucho te dejo mi correo nelson_vacan@hotmail.com muchas gracias

Aquí está en JavaScript.

Imagen de carlosjulioperez

Hola Tannia.

Te adjunto el código en JavaScript. Está en una función y le pasas como parámetro el campo con el número a validar.

Esto valida:
1. El Ruc
2. Cédula de identidad
3. Pasaporte.

validarDocumento = function( campo ) {
numero = campo.value;
var suma = 0;
var residuo = 0;
var pri = false;
var pub = false;
var nat = false;
var numeroProvincias = 22;
var modulo = 11;

/* Verifico que el campo no contenga letras */
var ok=1;
for (i=0; i numeroProvincias){
alert('El código de la provincia (dos primeros dígitos) es inválido'); return false;
}

/* Aqui almacenamos los digitos de la cedula en variables. */
d1 = numero.substr(0,1);
d2 = numero.substr(1,1);
d3 = numero.substr(2,1);
d4 = numero.substr(3,1);
d5 = numero.substr(4,1);
d6 = numero.substr(5,1);
d7 = numero.substr(6,1);
d8 = numero.substr(7,1);
d9 = numero.substr(8,1);
d10 = numero.substr(9,1);

/* El tercer digito es: */
/* 9 para sociedades privadas y extranjeros */
/* 6 para sociedades publicas */
/* menor que 6 (0,1,2,3,4,5) para personas naturales */

if (d3==7 || d3==8){
alert('El tercer dígito ingresado es inválido');
return false;
}

/* Solo para personas naturales (modulo 10) */
if (d3 < 6){
nat = true;
p1 = d1 * 2; if (p1 >= 10) p1 -= 9;
p2 = d2 * 1; if (p2 >= 10) p2 -= 9;
p3 = d3 * 2; if (p3 >= 10) p3 -= 9;
p4 = d4 * 1; if (p4 >= 10) p4 -= 9;
p5 = d5 * 2; if (p5 >= 10) p5 -= 9;
p6 = d6 * 1; if (p6 >= 10) p6 -= 9;
p7 = d7 * 2; if (p7 >= 10) p7 -= 9;
p8 = d8 * 1; if (p8 >= 10) p8 -= 9;
p9 = d9 * 2; if (p9 >= 10) p9 -= 9;
modulo = 10;
}

/* Solo para sociedades publicas (modulo 11) */
/* Aqui el digito verficador esta en la posicion 9, en las otras 2 en la pos. 10 */
else if(d3 == 6){
pub = true;
p1 = d1 * 3;
p2 = d2 * 2;
p3 = d3 * 7;
p4 = d4 * 6;
p5 = d5 * 5;
p6 = d6 * 4;
p7 = d7 * 3;
p8 = d8 * 2;
p9 = 0;
}

/* Solo para entidades privadas (modulo 11) */
else if(d3 == 9) {
pri = true;
p1 = d1 * 4;
p2 = d2 * 3;
p3 = d3 * 2;
p4 = d4 * 7;
p5 = d5 * 6;
p6 = d6 * 5;
p7 = d7 * 4;
p8 = d8 * 3;
p9 = d9 * 2;
}

suma = p1 + p2 + p3 + p4 + p5 + p6 + p7 + p8 + p9;
residuo = suma % modulo;

/* Si residuo=0, dig.ver.=0, caso contrario 10 - residuo*/
digitoVerificador = residuo==0 ? 0: modulo - residuo;

/* ahora comparamos el elemento de la posicion 10 con el dig. ver.*/
if (pub==true){
if (digitoVerificador != d9){
alert('El ruc de la empresa del sector público es incorrecto.');
return false;
}
/* El ruc de las empresas del sector publico terminan con 0001*/
if ( numero.substr(9,4) != '0001' ){
alert('El ruc de la empresa del sector público debe terminar con 0001');
return false;
}
}
else if(pri == true){
if (digitoVerificador != d10){
alert('El ruc de la empresa del sector privado es incorrecto.');
return false;
}
if ( numero.substr(10,3) != '001' ){
alert('El ruc de la empresa del sector privado debe terminar con 001');
return false;
}
}

else if(nat == true){
if (digitoVerificador != d10){
alert('El número de cédula de la persona natural es incorrecto.');
return false;
}
if (numero.length >10 && numero.substr(10,3) != '001' ){
alert('El ruc de la persona natural debe terminar con 001');
return false;
}
}
return true;
}

Carlos Julio Pérez Quizhpe
Full stack developer
https://ec.linkedin.com/in/carlosjulioperez

Ayuda en c# 2005

Hola Carlos te cuento que estoy aprendiendo c# 2005, y quiero validar la cedula en este lenguaje, me podrias ayudar, por favor quisiera tambien el articulo del SRI que tienes para que me lo envies por el correo,crist_bf3@yahoo.com porq e puesto la direccion que tienes pero no me sale nada.
de antemano te agradezco por la atencion prestada.

Att.
CB.

Validar Ruc (continuación)

Imagen de carlosjulioperez

Aquí te paso el ejemplo de cómo debes llamarlo:

if(F2ctipodoc.value.length > 0) {
var longitud = this.value.length;
if(longitud > 0) {
switch(F2ctipodoc.value) {
case '02':case '05':if(longitud != 10) {
alert('El número de CEDULA debe tener 10 dígitos');
this.value = '';
this.focus();
}
else{
if(!validarDocumento(this)) {
this.value = '';
this.focus();
}
}
break;
case '01':case '04':if(longitud != 13) {
alert('El número del RUC debe tener 13 dígitos');
this.value = '';
this.focus();
}
else{
if(!validarDocumento(this)) {
this.value = '';
this.focus();
}
}
break;
case '03':case '06':if(longitud > 10) {
alert('Solo puede ingresar 10 caracteres para el pasaporte');
this.value = this.value.substr(0, 10);
}

Parte final

if(longitud menor que 10) {
var num = 10 - this.value.length;
var ceros = '';
for(i = 0; i menor que num; i ++ ) {
ceros += '0';
}
this.value = ceros + this.value;
}
break;
}
}
}
else {
alert('No ha seleccionado el tipo de documento');
this.value = '';
F2ctipodoc.focus();
}

F2ctipodoc, es el campo que contiene el número a validar.
F2ctipodoc.value, es el valor que contiene dicho campo.

Espero te sirva y que sea claro para que lo pases a php.
Solo tienes que indentarlo.

Este algoritmo lo saqué de la página del SRI y es el actualizado.

http://www.sri.gov.ec/pages/guia_contribuyente/guia_ruc/requisitosruc/estructura_numerosruc_validadores.html

Si deseas escríbeme un email a:

carlosjulioperez@gmail.com
cjperez@espol.edu.ec

Y te lo envío.

Saludos cordiales desde Gye.

Carlos Julio Pérez Quizhpe
Full stack developer
https://ec.linkedin.com/in/carlosjulioperez

Páginas