Foros del Web » Programando para Internet » Javascript »

script que genere la C.U.R.P (para los expertos)

Estas en el tema de script que genere la C.U.R.P (para los expertos) en el foro de Javascript en Foros del Web. Alguien sabe como hacer que genere la curp de un usuario al momento que se registro con el nombre,apellidos y fecha de nacimiento de por ...

  #1 (permalink)  
Antiguo 01/04/2004, 09:01
Avatar de The_omars  
Fecha de Ingreso: marzo-2004
Mensajes: 271
Antigüedad: 20 años, 1 mes
Puntos: 0
script que genere la C.U.R.P (para los expertos)




Alguien sabe como hacer que genere la curp de un usuario al momento que se registro con el nombre,apellidos y fecha de nacimiento de por resultado la CURP


ayuda porfavor amigos de el foro.
  #2 (permalink)  
Antiguo 02/04/2004, 10:48
Avatar de Carlitos
Usuario no validado
 
Fecha de Ingreso: mayo-2001
Ubicación: Zaragoza
Mensajes: 1.304
Antigüedad: 22 años, 11 meses
Puntos: 25
Hola.

Investigando un poco, he visto que para generar el curp hay que tener en cuenta muchos parámetros.
También hay que tener en cuenta que los dos últimos dígitos, los otorga la secretaría del gobierno. Si bien casi siempre el penúltimo es cero, el último (que es un dígito verificador) no sé como se calcula.

No va a ser tarea sencilla, pero si te sigue interesando, veré lo que se puede hacer.

Si te interesa más info: http://www.seg.guanajuato.gob.mx/Ism...0la%20CURP.DOC páginas de la 10 a la 16
  #3 (permalink)  
Antiguo 02/04/2004, 11:01
Avatar de The_omars  
Fecha de Ingreso: marzo-2004
Mensajes: 271
Antigüedad: 20 años, 1 mes
Puntos: 0
GRacias carlitos no importa que lo 2 ultimos digitos que los da la secretaria de gobierno no esten los demas si interesan por tu atencion muchas gracias amigo
  #4 (permalink)  
Antiguo 05/04/2004, 07:48
Avatar de The_omars  
Fecha de Ingreso: marzo-2004
Mensajes: 271
Antigüedad: 20 años, 1 mes
Puntos: 0
ALguna Idea

Alguna idea amigos de el foro?



Este es un script muy interesante de echo yo no he visto ninguna en internet si alguen lo puede sacar va ha ser unico¡¡

si lo soluciono lo pongo en el foro...
  #5 (permalink)  
Antiguo 05/04/2004, 13:48
Avatar de Carlitos
Usuario no validado
 
Fecha de Ingreso: mayo-2001
Ubicación: Zaragoza
Mensajes: 1.304
Antigüedad: 22 años, 11 meses
Puntos: 25
Hola de nuevo.

Prueba esto:

Cálculo del CURP


Está en fase de desarrollo y tiene fallos. Pero para que veas algo.
  #6 (permalink)  
Antiguo 05/04/2004, 16:06
Avatar de The_omars  
Fecha de Ingreso: marzo-2004
Mensajes: 271
Antigüedad: 20 años, 1 mes
Puntos: 0
QU barbaro Carlitos'''¡¡¡¡ ya mero sale deja ver si yo lo puedo terminar lo pongo ya corregido si no pues el ke lo termine primero ¡¡¡¡¡



gracias¡¡
  #7 (permalink)  
Antiguo 11/05/2004, 18:16
Avatar de The_omars  
Fecha de Ingreso: marzo-2004
Mensajes: 271
Antigüedad: 20 años, 1 mes
Puntos: 0
LO has Resuelto CARLITOS??????



  #8 (permalink)  
Antiguo 02/12/2004, 16:53
Avatar de cookie  
Fecha de Ingreso: agosto-2002
Mensajes: 688
Antigüedad: 21 años, 7 meses
Puntos: 0
Alguien ya resolvio este script ?

Aqui esta una aplicacion que calcula el CURP Mexicano, pero lo ideal seria hacerlo en Javascript para poder usarlo en una web ¿no?

esta es la liga
http://aplicarh.tripod.com.mx/Descargas/CalcCURP.exe

Algun programador en JavaScript q tenga la solucion?

saludos
__________________
___________________________

do the evolution ¡
Mineriaenlinea.com
  #9 (permalink)  
Antiguo 08/12/2004, 18:01
Avatar de wcfenix  
Fecha de Ingreso: agosto-2004
Ubicación: Lima
Mensajes: 168
Antigüedad: 19 años, 7 meses
Puntos: 0
Solo por curiosidad no soy de mexico y he visto el termino CURP en varios msjs en este foro... que es el CURP?
  #10 (permalink)  
Antiguo 08/12/2004, 22:10
Avatar de cookie  
Fecha de Ingreso: agosto-2002
Mensajes: 688
Antigüedad: 21 años, 7 meses
Puntos: 0
Cita:
Iniciado por wcfenix
Solo por curiosidad no soy de mexico y he visto el termino CURP en varios msjs en este foro... que es el CURP?
¿Qué es la CURP?

Es la Clave Única de Registro de Población, es un instrumento de registro que se asigna a todas las personas que viven en el territorio nacional, así como a los mexicanos que viven en el extranjero.

El responsable de asignar la CURP y de expedir la constancia respectiva es el Registro Nacional de Población (RENAPO).

Contribuye al fortalecimiento de las condiciones de seguridad jurídica de la población (en teoria)

Fuente: CONDUCEF
__________________
___________________________

do the evolution ¡
Mineriaenlinea.com
  #11 (permalink)  
Antiguo 11/12/2004, 20:27
Avatar de wcfenix  
Fecha de Ingreso: agosto-2004
Ubicación: Lima
Mensajes: 168
Antigüedad: 19 años, 7 meses
Puntos: 0
De Perú

Ahhhhh!!! Bueno ahora entiendo, yo soy de Perú y aca se llama DNI (Documento Nacional de Identidad) Bueno he encontrado varios codigos para sacar la letra que es asignada pero ninguno funciona al 100%
  #12 (permalink)  
Antiguo 12/12/2004, 00:04
Avatar de cookie  
Fecha de Ingreso: agosto-2002
Mensajes: 688
Antigüedad: 21 años, 7 meses
Puntos: 0
probablemente ninguno funcione nunca al 100% porque hay algunos digitos que son asigados por la entidad (gubernamental) responsable, e incluso algunas veces esos digitos son cambiados
__________________
___________________________

do the evolution ¡
Mineriaenlinea.com
  #13 (permalink)  
Antiguo 30/03/2005, 15:28
Avatar de moroccotopo  
Fecha de Ingreso: marzo-2005
Ubicación: Heroes Tecamac, Estado de México (entre Ecatepec y Tultitlan)
Mensajes: 6
Antigüedad: 19 años
Puntos: 0
Exclamación Propongo Sacar El Codigo Del Curp En Javascript

Hola.

Al presionar en: http://www.seg.guanajuato.gob.mx/Ism...0la%20CURP.DOC indica el navegador que no existe la página, me es urgente conocer cómo calcular el CURP para un programa en visualfoxpro.

Hechame la mano, enviame el documento que refieres y les regreso la rutina en javascript y php, así como en xbase para obtener el CURP ( exceptuando los dos dígitos finales)

Gracias.

mi e-mail: [email protected] ccp [email protected]

Última edición por moroccotopo; 30/03/2005 a las 15:29
  #14 (permalink)  
Antiguo 31/03/2005, 07:55
Avatar de Carlitos
Usuario no validado
 
Fecha de Ingreso: mayo-2001
Ubicación: Zaragoza
Mensajes: 1.304
Antigüedad: 22 años, 11 meses
Puntos: 25
Hola.

Aquí dejo el texto completo. A falta de las excepciones que tiene el cálculo. No he encontrado la lista de palabras.

http://www.terra.es/personal3/atavia...de la curp.doc
  #15 (permalink)  
Antiguo 26/04/2006, 09:16
 
Fecha de Ingreso: abril-2005
Mensajes: 23
Antigüedad: 19 años
Puntos: 0
Sonrisa Para el calculo del Digito verificador de la CURP

esto tiene un buen de tiempo, pero bueno

las exepciones son

de
del
los
debes eliminarlos de los apellidos

jose
maria
debes eliminarlos del nombre, siempre y cuando tenga otro nombre

si existiera la Ñ en la CURP resultado, esta debe sustituirse por X

el digito verificador se calcula
asignandole un valor a cada uno de los caracteres que pueden integrar la CURP

0-0
1-1
2-2
3-3
4-4
5-5
6-6
7-7
8-8
9-9
A-10
B-11
C-12
D-13
E-14
F-15
G-16
H-17
I-18
J-19
K-20
L-21
M-22
Ñ-23
N-24
O-25
P-26
Q-27
R-28
S-29
T-30
U-31
V-32
W-33
X-34
Y-35
Z-36

multiplica cada caracter por la posicion en la que se encuantra, numerando de derecha a izquierda, es decir si mi CURP es AMNJ801224HSLGHE

deberia realizar las si operaciones
A= (10 * 18) = 180
M= (22 * 17) = 374
N= (24 * 16) = 384

y asi para todos los caracteres

despues sumaria todos los totales
a este nuevo total lo divido entre 10 y a el residuo que me quede le resto 10
y le saco el valor absoluto en caso de que haya sido negativo

y esto me arroja el digito verificador
en caso de que sea 10 el digito es 0

con esto solo nos restaria saber cual es el peniltimo digito pero como para casi todos es 0 pues esto nos funcionaria en la mayoria de los casos

Espero sea de utilidad.
  #16 (permalink)  
Antiguo 25/06/2006, 13:01
 
Fecha de Ingreso: febrero-2006
Mensajes: 155
Antigüedad: 18 años, 2 meses
Puntos: 0
Calcular Digitoverificador RFC - CURP

he logrado calcular el RFC con digito verificador
y he logrado calcular la CURP pero NO logro calcular el digito verificador, ¿alguien tendra un ejemplo de codigo en visual basic para calcularlo?
  #17 (permalink)  
Antiguo 19/10/2006, 14:20
Avatar de akela  
Fecha de Ingreso: septiembre-2000
Ubicación: Frente a la compu
Mensajes: 660
Antigüedad: 23 años, 7 meses
Puntos: 2
Pues yo les puedo decir que el PENULTIMO dígito es 0 si naciste antes del año 2000 y 1 si naciste después de ese año.

así que ahí está el rompecabezas completo.
__________________
Si quieres que las cosas sucédan

provocalas!
  #18 (permalink)  
Antiguo 19/10/2006, 15:07
Avatar de akela  
Fecha de Ingreso: septiembre-2000
Ubicación: Frente a la compu
Mensajes: 660
Antigüedad: 23 años, 7 meses
Puntos: 2
Ahora, me salta una duda, no se si alguien tiene la lista de palabras "malas" que no pueden ser parte de la CURP, o será la misma que en el RFC?
__________________
Si quieres que las cosas sucédan

provocalas!
  #19 (permalink)  
Antiguo 27/10/2006, 18:55
 
Fecha de Ingreso: octubre-2006
Mensajes: 2
Antigüedad: 17 años, 5 meses
Puntos: 0
Hola.

La asignación y cálculo de la homoclave (digito verificador) de la Clave Única de Registro de Población CURP es responsabilidad de la RENAPO (gobierno federal). Se realiza a través de un sistema único para este fin, no tiene nada que ver con el RFC, a pesar de tener similitudes en la forma de su conformación.
Te recomiendo que mejor acudas a un Módulo Curp más cercano y solicites la asignación de tu clave.
La clave CURP se asigna a todos las personas que viven en territorio nacional y a los extranjeros residentes en el pais.
  #20 (permalink)  
Antiguo 27/10/2006, 19:10
 
Fecha de Ingreso: octubre-2006
Mensajes: 2
Antigüedad: 17 años, 5 meses
Puntos: 0
La CURP esta conformada por nombre, fecha de nacimiento, sexo, entidad federativa de nacimiento. y por último la homoclave, para evitar duplicidad.

Primera letra del primer apellido, primera vocal del primer apellido, primera letra del segundo apellido, primera letra del nombre de pila, si se tienen dos nombres se toma la primera letra del primer nombre, fecha de nacimiento empezando por el año a dos digitos, sexo si es mujer es M, si es hombre es H, entidad federativa de nacimiento primera letra y ultima consonante, consonantes internas de apellidos y nombre de pila y por último los dos digitos asignados por RENAPO de manera sistematizada. La homoclave se puede asignar en dos digitos números o una letra y un número.

Ejemplo:

ANA PATRICIA JIMENEZ REVUELTA
ES UNA MUJER QUE NACIO EL 24 DE FEBRERO DE 2003 EN EL ESTADO DE VERACRUZ.

CURP. JIRA0302024MVZMVN (A4) Digito Verificador.
  #21 (permalink)  
Antiguo 27/10/2006, 20:52
Avatar de akela  
Fecha de Ingreso: septiembre-2000
Ubicación: Frente a la compu
Mensajes: 660
Antigüedad: 23 años, 7 meses
Puntos: 2
Cita:
Iniciado por HOPEGRACE Ver Mensaje
La CURP esta conformada por nombre, fecha de nacimiento, sexo, entidad federativa de nacimiento. y por último la homoclave, para evitar duplicidad.

Primera letra del primer apellido, primera vocal del primer apellido, primera letra del segundo apellido, primera letra del nombre de pila, si se tienen dos nombres se toma la primera letra del primer nombre, fecha de nacimiento empezando por el año a dos digitos, sexo si es mujer es M, si es hombre es H, entidad federativa de nacimiento primera letra y ultima consonante, consonantes internas de apellidos y nombre de pila y por último los dos digitos asignados por RENAPO de manera sistematizada. La homoclave se puede asignar en dos digitos números o una letra y un número.

Ejemplo:

ANA PATRICIA JIMENEZ REVUELTA
ES UNA MUJER QUE NACIO EL 24 DE FEBRERO DE 2003 EN EL ESTADO DE VERACRUZ.

CURP. JIRA0302024MVZMVN (A4) Digito Verificador.

Pues tienes una vaga idea de lo que es la curp

El metodo que pone FIRESTONE2 funciona para el 90% de los casos, y el 10% que no funciona es porque la misma RENAPO tenía un error en su código y algunos casos los emitió con errores, así que podemos decir que ya tenemos el código para generar la CURP

yo lo codifiqué en Delphi y funciona
__________________
Si quieres que las cosas sucédan

provocalas!
  #22 (permalink)  
Antiguo 05/12/2006, 10:42
 
Fecha de Ingreso: diciembre-2006
Mensajes: 2
Antigüedad: 17 años, 4 meses
Puntos: 0
applet que genera la curp

Tengo un applet que genera la 16 posiciones de la curp, faltan varias validaciones para nombre y appellidos

El codigo es el siguiente

import java.awt.*;
import java.applet.Applet;
import java.applet.Applet;
public class Curp extends Applet
{
Label apellidop, apellidom, nombre, anio,dial, mesl, sexol, efl, titulo1, titulo2;
TextField ap,am,n,a,cu;
Button b;
Choice dia,mes,ef;
Checkbox s1,s2;
CheckboxGroup cgb;
Panel panelprin,paneltop,paneldw;
Font fuente;
int indicev,indicec,indicem,indicen,i;
String curp, appse,f;

public void init ()
{
//creacion de paneles
titulo1 = new Label ("Clave unica de regisro de poblacion");
titulo2 = new Label ("");
panelprin = new Panel();
panelprin.setLayout(new GridLayout(12,12));

paneltop = new Panel();
paneltop.setLayout(new BorderLayout());

paneldw = new Panel();
paneldw.setLayout(new GridLayout(1,1));

//CREA CAMPOS DE TEXTO PARA EL NOMBRE
apellidop = new Label("Apellido Paterno");
ap = new TextField(10);
apellidom = new Label("Apellido Materno");
am = new TextField(10);
nombre = new Label("Nombre(s)");
n = new TextField(15);

//CREA CAMPOS DE SELECCION DIA,MES,ANI0
dial = new Label("dia");
dia = new Choice();
dia.addItem("01");dia.addItem("02");dia.addItem("0 3");dia.addItem("04");
dia.addItem("05");dia.addItem("06");dia.addItem("0 7");dia.addItem("08");
dia.addItem("09");dia.addItem("10");dia.addItem("1 1");dia.addItem("12");
dia.addItem("13");dia.addItem("14");dia.addItem("1 5");dia.addItem("16");
dia.addItem("17");dia.addItem("18");dia.addItem("1 9");dia.addItem("20");
dia.addItem("21");dia.addItem("22");dia.addItem("2 3");dia.addItem("24");
dia.addItem("25");dia.addItem("26");dia.addItem("2 7");dia.addItem("28");
dia.addItem("29");dia.addItem("30");dia.addItem("3 1");

mesl =new Label("Mes");
mes = new Choice();
mes.addItem("ENERO"); mes.addItem("FEBRERO");mes.addItem("MARZO"); mes.addItem("ABRIL");
mes.addItem("MAYO"); mes.addItem("JUNIO"); mes.addItem("JULIO"); mes.addItem("AGOSTO");
mes.addItem("SEPTIEMBRE");mes.addItem("OCTUBRE");m es.addItem("NOVIEMBRE");mes.addItem("DICIEMBRE");

anio = new Label("Anio");
a = new TextField(4);

// CREA CAJA DE OPCIONES PARA SEXO
sexol =new Label("Sexo");
cgb =new CheckboxGroup();
s1 = new Checkbox("Hombre",cgb,false);
s2 = new Checkbox("Mujer",cgb,false);

// CREA CAMPO DE SELECCION PARA ENTIDAD FEDERATIVA
efl =new Label("Entidad Federativa de Nacimiento");
ef = new Choice();
ef.addItem("AGUASCALIENTES");ef.addItem("BAJA CALIFORNIA NORTE");ef.addItem("BAJA CALIFORNIA SUR");ef.addItem("CAMPECHE");
ef.addItem("CHIAPAS"); ef.addItem("CHIHUAHUA"); ef.addItem("COAHUILA"); ef.addItem("COLIMA");
ef.addItem("DURANGO"); ef.addItem("DISTRITO FEDERAL"); ef.addItem("ESTADO DE MEXICO"); ef.addItem("GUANAJUATO");
ef.addItem("GUERRERO"); ef.addItem("HIDALGO"); ef.addItem("JALISCO"); ef.addItem("MICHOACAN");
ef.addItem("MORELOS"); ef.addItem("NAYARIT"); ef.addItem("NUEVO LEON"); ef.addItem("OAXACA");
ef.addItem("PUEBLA"); ef.addItem("QUERETARO"); ef.addItem("QUINTANA ROO"); ef.addItem("SAN LUIS POTOSI");
ef.addItem("SINALOA"); ef.addItem("SONORA"); ef.addItem("TABASCO"); ef.addItem("TAMAULIPAS");
ef.addItem("TLAXCALA"); ef.addItem("VERACRUZ"); ef.addItem("YUCATAN"); ef.addItem("ZACATECAS");
ef.addItem("EXTRANJERO");

//CREACION DEL BOTON DE ACTIVACION DE LA CURP
b =new Button("Curp");

// CREACION DEL CAMPO DE SALIDA DE LA CURP

cu = new TextField(19);
cu.setEditable(false);

// AGREGA COMPONENTES A LOS PANELES
fuente = new java.awt.Font("Arial", Font.BOLD, 12);
setFont(fuente);
paneltop.add("North",titulo1);
panelprin.add(titulo2);
panelprin.add(apellidop);
panelprin.add(ap);
panelprin.add(apellidom);
panelprin.add(am);
panelprin.add(nombre);
panelprin.add(n);
panelprin.add(dial);
panelprin.add(dia);
panelprin.add(mesl);
panelprin.add(mes);
panelprin.add(anio);
panelprin.add(a);
panelprin.add(sexol);
panelprin.add(s1);
panelprin.add(titulo2);
panelprin.add(s2);
panelprin.add(efl);
panelprin.add(ef);
paneldw.add(b);
paneldw.add(cu);

// AGREGA PANELES AL APPLET
add(paneltop);
add(panelprin);
add(paneldw);
} // fin init

//EJECUTA LA CURP AL PRESIONAR EL BOTON
public boolean action(Event e,Object o)
{
if(e.target instanceof Button)
{

// OBTIENE INICIAL, PRIMERA VOCAL INTERNA Y PRIMERA CONSONANTE DEL PRIMER APELLIDO
String app = ap.getText().toUpperCase();
char appi = app.charAt(0);
for (i=1;i<=app.length()-1;i++)
{
char app1 = app.charAt(i);
String app2 = String.valueOf(app1);

if (app2.equals("A")|app2.equals("E")|app2.equals("I" )|app2.equals("O")|app2.equals("U"))
{
indicev = i;
break;
}
else
{
indicev = i+1;
break;
}
}
for (i=1;i<=app.length()-1;i++)
{
char app1 = app.charAt(i);
String app2 = String.valueOf(app1);

if (app2.equals("A")|app2.equals("E")|app2.equals("I" )|app2.equals("O")|app2.equals("U"))
{
}
else
{
indicec = i;
break;
}
}
char apps = app.charAt(indicev);
char appc = app.charAt(indicec);

// OBTIENE INICIAL Y PRIMERA CONSONANTE DEL SEGUNDO APELLIDO
String apm = am.getText().toUpperCase();
char apmi =apm.charAt(0);
for (i=1;i<=apm.length()-1;i++)
{
char apm1 = apm.charAt(i);
String apm2 = String.valueOf(apm1);

if (apm2.equals("A")|apm2.equals("E")|apm2.equals("I" )|apm2.equals("O")|apm2.equals("U"))
{
}
else
{
indicem = i;
break;
}

}

char apmc = apm.charAt(indicem);

// OBTIENE INICIAL Y PRIMERA CONSONANTE DEL NOMBRE DE PILA
String nom = n.getText().toUpperCase();
char nomi = nom.charAt(0);
for (i=1;i<=nom.length()-1;i++)
{
char nom1 = nom.charAt(i);
String nom2 = String.valueOf(nom1);
if(nom2.equals("JOSE"))
{
indicen =i++;
}
if (nom2.equals("A")|nom2.equals("E")|nom2.equals("I" )|nom2.equals("O")|nom2.equals("U"))
{

}
else
{
indicen = i;
break;
}
}

char nomc = nom.charAt(indicen);

// OBTIENE LA FECHA DE NACIMIENTO
String an = a.getText();
String an1 = an.substring(2,4);

int m = mes.getSelectedIndex()+1;
String m1;
if (m<10)
m1 = "0"+String.valueOf(m);
else
m1 = String.valueOf(m);

String d =dia.getSelectedItem();

// OBTIENE SEXO
boolean s = s1.getState();
String sexo;
if (s ==true)
sexo = "H";
else
sexo = "M";

// OBTIENE LA ENTIDAD FEDERATIVA DE NACIMIENTO
int entfed = ef.getSelectedIndex();
switch (entfed)
{
case 0: f = "AS";break; case 1: f = "BN";break; case 2: f = "BS";break; case 3: f = "CM";break;
case 4: f = "CS";break; case 5: f = "CH";break; case 6: f = "CL";break; case 7: f = "CO";break;
case 8: f = "DG";break; case 9: f = "DF";break; case 10: f = "EM";break; case 11: f = "GT";break;
case 12: f = "GR";break; case 13: f = "HG";break; case 14: f = "JC";break; case 15: f = "MN";break;
case 16: f = "MN";break; case 17: f = "NT";break; case 18: f = "NL";break; case 19: f = "OC";break;
case 20: f = "PL";break; case 21: f = "QT";break; case 22: f = "QR";break; case 23: f = "SP";break;
case 24: f = "SL";break; case 25: f = "SR";break; case 26: f = "TC";break; case 27: f = "TS";break;
case 28: f = "TL";break; case 29: f = "VZ";break; case 30: f = "YN";break; case 31: f = "ZS";break;
case 32: f = "NE";break;
}

// CONSTRUYE E IMPRIME LA CURP
curp = String.valueOf(appi)+ String.valueOf(apps)+ String.valueOf(apmi)+ String.valueOf(nomi)+ String.valueOf(an1)+ m1+ d+ sexo+String.valueOf(f)+String.valueOf(appc)+String .valueOf(apmc)+String.valueOf(nomc);
cu.setText(String.valueOf(curp));
}
return true;
}// fin action
}// fin Curp

Mi correo es [email protected]
si saben como aplicar las validaciones, hagammelo saber
  #23 (permalink)  
Antiguo 21/12/2006, 12:39
Avatar de demiurgo_daemon  
Fecha de Ingreso: diciembre-2006
Ubicación: Querétaro
Mensajes: 184
Antigüedad: 17 años, 4 meses
Puntos: 2
De acuerdo Re: script que genere la C.U.R.P (para los expertos)

encontré un error en la tabla que proporciona firestone2: el valor que le corresponde a la N es 23, no 24. no sé si eso es a lo que akela se refería.

por otro lado, supongo que la Ñ debería devolver 24, pero no sé para qué la ponemos si firestone2 dice que no es un caracter válido para formar parte de una curp:

Cita:
si existiera la Ñ en la CURP resultado, esta debe sustituirse por X
en fin, hice yo también un programa a partir del código de automan y estas correcciones, y me ha funcionado para todas las curp que he podido confirmar.
  #24 (permalink)  
Antiguo 31/12/2006, 23:28
 
Fecha de Ingreso: diciembre-2006
Mensajes: 2
Antigüedad: 17 años, 4 meses
Puntos: 0
Re: script que genere la C.U.R.P (para los expertos)

Si no es mucha molestia, como aplicaste las correcciones
  #25 (permalink)  
Antiguo 18/01/2007, 19:22
Avatar de demiurgo_daemon  
Fecha de Ingreso: diciembre-2006
Ubicación: Querétaro
Mensajes: 184
Antigüedad: 17 años, 4 meses
Puntos: 2
Información Re: script que genere la C.U.R.P (para los expertos)

para validar los nombres, ahi les va. esto es un pseudocódigo que parece más javascript que java, pero creo que es mejor que poner garabatos en perl :

Código:
//quitar espacios externos
nombre = nombre.subst(/^\s+|\s+$/,'');
paterno = paterno.subst(/^\s+|\s+$/,'');
materno = materno.subst(/^\s+|\s+$/,'');

//quitar articulos de apellidos
pat_temp = paterno.subst(/\b(de(l)?|la(s)?|los|y|a|mac|von|van)\s+/i,'');
pat_temp = pat_temp.subst(/\bmc/,'');
mat_temp = materno.subst(/\b(de(l)?|la(s)?|los|y|a|mac|von|van)\s+/i,'');
mat_temp = mat_temp.subst(/\bmc/,'');

//quitar nombres comunes, solo si no van solos, ademas de articulos
nom_temp = nombre.subst(/\b(j(ose|\.)?|ma(ria|\.)?)\s+/i,'');
nom_temp = nom_temp.subst(/\b(de(l)?|la(s)?|los|y|a|mac|von|van)\s+/i,'');
nom_temp = nom_temp.subst(/\bmc/,'');

//empezar a construir curp con inicial paterno + primera vocal paterno + inicial materno + inicial nombre
var curp = pat_temp.char(0) + pat_temp.string(1).match(/[aeiou]/i);
curp += mat_temp.char(0);
curp += nom_temp.char(0);

var malas = Array("BUEI","BUEY","CACA","CACO","CAGA","CAGO","CAKA","CAKO","COGE","COJA","KOGE","KOJO","KAKA","KULO",
				"MAME","MAMO","MEAR","MEAS","MEON","MION","COJE","COJI","COJO","CULO","FETO","GUEY","JOTO","KACA",
				"KACO","KAGA","KAGO","MOCO","MULA","PEDA","PEDO","PENE","PUTA","PUTO","QULO","RATA","RUIN");

//si se encuentra una mala palabra, sustituir la segunda letra con 'X'
if(curp.match(malas.join('|'))) curp = pat_temp.char(0) + 'X' + mat_temp.char(0) + nom_temp.char(0);
después de esto, se sacan datos de fecha, entidad, etc., como lo hace automan

los dígitos verificadores son un animal muy particular:

para el primero, sólo he podido apoyarme en curps que tengo a la mano y el ejemplo que pone HOPEGRACE. en pocas palabras, si el año de nacimiento es menor a 2000, es 0; de lo contrario, A:
Código:
curp += fecha.substring(0,2)=="19"?'0':'A';
nótese que la implementación varía de acuerdo a con qué formato planeen recibir la fecha (y de la tipificación de su lenguaje). personalmente recomiendo iso8601.

el segundo viene casi de la misma tabla que se usa para el verificador del rfc de personas físicas, sólo que no puede ser 'A':

Código:
func tabla(i){
if(i >= '0' && i<= '9') return i-48;
else if (i>= 'A' && i<= 'N') return i-55;
else if (i>= 'O' && i<= 'Z') return i-54;
else return 0;
}

//en este punto, la variable curp tiene todo excepto el ultimo digito verificador
//ejemplo: JIRA0302024MVZMVNA
var dv = 0;
for(var i=0; i<curp.length; i++) dv += tabla(curp.charCodeAt(i))*(18-i);
dv%=10;
curp += dv==0?0:10-dv;
en mi mensaje anterior mencioné que ñ debe devolver 24, pero esto es ocioso porque la cadena curp no puede contenerla, pero es importante que n devuelva 23.

otro detalle es que no sé si la lista de palabras indebidas está completa. háganme saber si falta alguna.

espero su retroalimentación
  #26 (permalink)  
Antiguo 15/02/2007, 14:02
 
Fecha de Ingreso: febrero-2007
Mensajes: 78
Antigüedad: 17 años, 2 meses
Puntos: 0
Re: ALguna Idea

Cita:
Iniciado por The_omars Ver Mensaje
Alguna idea amigos de el foro?



Este es un script muy interesante de echo yo no he visto ninguna en internet si alguen lo puede sacar va ha ser unico¡¡

si lo soluciono lo pongo en el foro...

OMARS COM ESTAS, OYE VEO K PEDISTE UN PROGRAMA QUE GENERE EL CURP, NECESITO UNO QUE GENERE EL RFC EN VB 6.0 LO TNDRAS, ESPERO RESPUESTA SALUDOS
  #27 (permalink)  
Antiguo 18/02/2007, 13:39
 
Fecha de Ingreso: febrero-2006
Mensajes: 155
Antigüedad: 18 años, 2 meses
Puntos: 0
Re: script que genere la C.U.R.P (para los expertos)

Sr... Eh creado una DLL para Visual Basic para que la integren a sus aplicaciones, donde podran calcular el RFC y la CURP con la HOMOCLAVE y DIGITO VERIFICADOR para c/u.

Y en Codigo abierto un archivo .js para calcular el digito verificador via web. con JavaScript

Si ah alguien le interesa msgme, o bien les envio un archivo en Excel donde esta todo el procedimiento para que con eso creen su propio codigo.

Saludos
  #28 (permalink)  
Antiguo 02/03/2007, 09:47
 
Fecha de Ingreso: marzo-2007
Mensajes: 1
Antigüedad: 17 años, 1 mes
Puntos: 0
Re: script que genere la C.U.R.P (para los expertos)

Cita:
Iniciado por robertocorona Ver Mensaje
Sr... Eh creado una DLL para Visual Basic para que la integren a sus aplicaciones, donde podran calcular el RFC y la CURP con la HOMOCLAVE y DIGITO VERIFICADOR para c/u.

Y en Codigo abierto un archivo .js para calcular el digito verificador via web. con JavaScript

Si ah alguien le interesa msgme, o bien les envio un archivo en Excel donde esta todo el procedimiento para que con eso creen su propio codigo.

Saludos
Me interesa saber el procedimiento q haces mencion por favor enviamelo a mi mail [email protected]
  #29 (permalink)  
Antiguo 09/03/2007, 14:30
Avatar de Noe_diaz  
Fecha de Ingreso: marzo-2007
Mensajes: 1
Antigüedad: 17 años, 1 mes
Puntos: 0
Sonrisa Re: script que genere la C.U.R.P (para los expertos)

Podias Enviarme El Codigo Por Fa Es Para Usarlo En Sw De Una Aseguradora Que Estoy Desarrollando. Gracias.
Mi Correo.
[email protected].
  #30 (permalink)  
Antiguo 29/03/2007, 21:07
 
Fecha de Ingreso: marzo-2007
Mensajes: 3
Antigüedad: 17 años
Puntos: 0
Sonrisa Re: script que genere la C.U.R.P (para los expertos)

HOla, me interesa la DLL que mencionas para calcular la CURP y el RFC, y tambien el archivo en Excel, para hecharle un ojo al procedimiento. Mi cuenta de correo es [email protected]. De antemano, muchas gracias.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Tema Cerrado

SíEste tema le ha gustado a 3 personas




La zona horaria es GMT -6. Ahora son las 08:55.