[OT] CUI y Cedula

1,143 views
Skip to first unread message

Mauricio Deleon

unread,
Sep 27, 2011, 6:52:31 PM9/27/11
to ph...@googlegroups.com
Buenas tardes
Quiero hacer mi super funcioncita preg_match para CUI y numero de cedula pero no encuentro las restricciones para verificar que sea valido el CUI y los valores que puede tener la cedula al inicio.
He buscado en google pero lo unico que encontre fue como estaba compuesto (por sentido comun se puede ver) pero no las restricciones.
Cualquier guia, vinculo o referencia sera bien recibida xD

--
Luis Déleon
Analista Desarrollador
Camara Guatemalteca de la Construcción
www.construguate.com
www.expocasa.com.gt
www.construfercgc.com



Mario Soto

unread,
Sep 27, 2011, 8:10:03 PM9/27/11
to ph...@googlegroups.com
Pues realmente no hay muchas restricciones en lo que corresponde a la cedula, mas que saber que la letra correspondiente vaya en concordancia con el numero del orden (A1, B2,C3, etc).y un numero que al menos se repite una vez en cada municipio dentro del departamento. En mi casa en algun lugar tengo el listado de correspondencias del orden de la cedula, aunque tambien lo podes buscar con google.

Ahora con los cui son numeros de 13 dígitos (12 mas un dígito verificador) pero que no podés verificar realmente, al menos no al momento. Te paso un enlace con mas información de esto. La separación la podés hacer con espacios, pero creo que no hay un formato estándar para ello y no tengo la lista de departamentos y municipios como lo maneja el Renap.
http://www.elperiodico.com.gt/es/20100602/pais/155185/

sin embargo, tengo una lista de departamentos y municipios de Guatemala por si la querés.


--
PHPGT :: Grupo de PHPeros de Guatemala
email: ph...@googlegroups.com
reglas de uso: https://sites.google.com/site/grupophpgt



--
Mario Soto
can...@gmail.com
..._

Julio Roberto Carias Peralta

unread,
Sep 27, 2011, 11:01:40 PM9/27/11
to ph...@googlegroups.com
La estructura del CUI la podes verificar en el siguiente link www.renap.gob.gt/pagina.php?id=325

La cédula pues ya sabes las letras con sus respectivos departamentos y el correlativo.
A-1 Guatemala
B-2 Sacatepequez
C-3 Chimaltenango
D-4 EL Progreso
E-5 Escuintla
F-6 Santa Rosa
G-7 Sololá
H-8 Totonicapán
I-9 Quetzaltenango
J-10 Suchitepéquez
K-11 Retalhuleu
L-12 San Marcos
M-13 Huehuetenango
N-14 Quiché
Ñ-15 Baja Verapaz
O-16 Alta Verapaz
P-17 Petén
Q-18 Izabal
R-19 Zacapa,
S-20 Chiquimula
T-21 Jalapa y
U-22 Jutiapa

Saludos Cordiales.






El 27 de septiembre de 2011 16:52, Mauricio Deleon <inform...@construguate.com> escribió:

--
PHPGT :: Grupo de PHPeros de Guatemala
email: ph...@googlegroups.com
reglas de uso: https://sites.google.com/site/grupophpgt



--
Roberto Carias

"Que todos se levanten, que nadie se quede atrás."
Popol Vuh.

Mauricio Deleon

unread,
Sep 28, 2011, 11:55:33 AM9/28/11
to ph...@googlegroups.com
Uh uh gracias por enseñarme lo del la correlacion letra-numero de la cedula, lo del CUI me preocupaba pero si nadie mas ha encontrado como usar el digito verificador entonces supongo que con una simple validacion de mascara basta..

Estuardo Estrada

unread,
Sep 28, 2011, 11:57:42 AM9/28/11
to ph...@googlegroups.com
Ya contactaste con Renap?

--
Estuardo Estrada

Mauricio Deleon

unread,
Sep 28, 2011, 12:19:26 PM9/28/11
to ph...@googlegroups.com
nope, no se me habia ocurrido xD, voy a llamar y posteo mas tarde

Mauricio Deleon

unread,
Sep 30, 2011, 6:12:23 PM9/30/11
to ph...@googlegroups.com
dandole seguimiento, llame a renap y me dijeron que el algoritmo es modulo 11, hay muchas variaciones, asi que agradeceria si me puede compartir sus cuis, solo los primeros 9 digitos para probar cual de las variaciones es la que se utiliza aqui, eso si no son muy paranoicos xD

Estuardo Estrada

unread,
Sep 30, 2011, 6:16:22 PM9/30/11
to ph...@googlegroups.com
Ciudad Guatemala
2270 05627 XXXX

--
Estuardo Estrada

Stuardo -StR- Rodríguez

unread,
Sep 30, 2011, 6:25:04 PM9/30/11
to ph...@googlegroups.com
vos.. disculpá mi icnorancia.. que es el CUI?

--

Stuardo -StR- Rodríguez | Senior Web Developer | http://maphpia.com
email: s...@maphpia.com | msn: s...@maphpia.com | gtalk: s...@maphpia.com
office: +502 6646-8047 | mobil: +502 4210-8819 | skype: stuardo_str



2011/9/30 Mauricio Deleon <inform...@construguate.com>

Mauricio Deleon

unread,
Sep 30, 2011, 6:26:19 PM9/30/11
to ph...@googlegroups.com
el codigo del dpi xD

Estuardo Estrada

unread,
Sep 30, 2011, 6:27:33 PM9/30/11
to ph...@googlegroups.com
Código Único de Identificación no?

--
Estuardo Estrada

José Blanco

unread,
Sep 30, 2011, 6:27:17 PM9/30/11
to ph...@googlegroups.com
Código Único de Identificación

·_  _  _  ·_  _·_  ··  _·  ···  _·_  _·__
José Blanco - Web Developer

Mario Soto

unread,
Sep 30, 2011, 6:28:31 PM9/30/11
to ph...@googlegroups.com
Código único de identificación. El número que está en tu DPI.

Ahora como consejo de seguridad, mejor no envíen los números de CUI aqui, mejor mándenselo directo a Mauricio.

Mauricio hay un montón de números en el sitio del TSE. Buscá el padrón. Tengo el de Mixco por si lo querés. De acuerod a la ley es público. No tiene mucha info pero te sirve.

El 30 de septiembre de 2011 16:25, Stuardo -StR- Rodríguez <s...@maphpia.com> escribió:
vos.. disculpá mi icnorancia.. que es el CUI?

--

Stuardo -StR- Rodríguez | Senior Web Developer | http://maphpia.com
email: s...@maphpia.com | msn: s...@maphpia.com | gtalk: s...@maphpia.com
office: +502 6646-8047 | mobil: +502 4210-8819 | skype: stuardo_str

Mauricio Deleon

unread,
Sep 30, 2011, 6:30:35 PM9/30/11
to ph...@googlegroups.com
sí me sirve, esque hay una anomalia cuando el modulo queda a 10, pero no he logrado conseguir uno que lo tenga para ver como lo tratan.


..._

--
PHPGT :: Grupo de PHPeros de Guatemala
email: ph...@googlegroups.com
reglas de uso: https://sites.google.com/site/grupophpgt

Mario Soto

unread,
Sep 30, 2011, 6:33:53 PM9/30/11
to ph...@googlegroups.com
Para el nit usan K cuando queda 10
Mario Soto
can...@gmail.com
..._

José Blanco

unread,
Sep 30, 2011, 6:36:22 PM9/30/11
to ph...@googlegroups.com
Si, pero esto no es NIT ¿Cómo hacen cuando queda 10?

Mario Soto

unread,
Sep 30, 2011, 6:42:41 PM9/30/11
to ph...@googlegroups.com
Fijate que me puse a ver algunos CUI en el padrón, pero no encontré ninguno. ¿Quizá no usen ese número y salten al siguiente? o solo usan los que tienen número y resultado menor a 10. Eso si, el digito validador para el nit no es solo sumar los dígitos porque también afectan las posiciones. Es un solo rollo. No me extrañaría que usaran algo parecido para el CUI.


El 30 de septiembre de 2011 16:36, José Blanco <josebl...@gmail.com> escribió:
Si, pero esto no es NIT ¿Cómo hacen cuando queda 10?


Stuardo -StR- Rodríguez

unread,
Sep 30, 2011, 6:44:43 PM9/30/11
to ph...@googlegroups.com
pero cual es la diferencia entre el DPI y el CUI? el DPI es la entidad física y el CUI es el número del DPI? 


.....  ehmm...    no voy a opinar, hoy estoy demasiado sarcástico como para aguantarme yo mismo.

--

Stuardo -StR- Rodríguez | Senior Web Developer | http://maphpia.com
email: s...@maphpia.com | msn: s...@maphpia.com | gtalk: s...@maphpia.com
office: +502 6646-8047 | mobil: +502 4210-8819 | skype: stuardo_str



2011/9/30 Estuardo Estrada <estua...@gmail.com>

--

Estuardo Estrada

unread,
Sep 30, 2011, 6:45:47 PM9/30/11
to ph...@googlegroups.com
Dale Stuardo, dale!

--
Estuardo Estrada

Mario Soto

unread,
Sep 30, 2011, 6:45:31 PM9/30/11
to ph...@googlegroups.com
El número es CUI. El DPI es la tarjeta plástica

Mauricio Deleon

unread,
Sep 30, 2011, 6:49:12 PM9/30/11
to ph...@googlegroups.com
va, pero igual pasame algunos que terminen en 1 que creo que usan la division en vez del modulo... o alquien que tenga alguno que el digito verificador sea 1 será bienvenido

Stuardo -StR- Rodríguez

unread,
Sep 30, 2011, 6:51:32 PM9/30/11
to ph...@googlegroups.com
y que? El  PPDDPI  es el Plástico Protecctor Del DPI?... no, ya se.. sería muy problemático porque se confundiría con Persona Portadora Del DPI... 

mari...@cancuen.net

unread,
Sep 30, 2011, 7:52:19 PM9/30/11
to PHPGT Grupo de PHPeros de Guatemala
@Stuardo mira las leyes, las hacen gentes que no saben mucho de lo que hacen. Pero hasta donde se, son los terminos. Tampoco he leido la ley como opara decirte. Podes buscarla e informarte de como te identifican aqui en Guate.

@mauricio http://elecciones2011.tse.org.gt/mapa/ELECTORES/ELE-01-01.pdf

--
Mario Soto
mari...@cancuen.net
..._

Francisco Nieves

unread,
Sep 30, 2011, 7:59:04 PM9/30/11
to ph...@googlegroups.com
Para eso entonces podemos dejar el PPDPI para el plástico y  HDPPDDPI para bueno ya me entendieron 

Sent from my iPhone

Stuardo -StR- Rodríguez

unread,
Sep 30, 2011, 8:44:39 PM9/30/11
to ph...@googlegroups.com
ROFLMFAO!!!

+1000

--

Stuardo -StR- Rodríguez | Senior Web Developer | http://maphpia.com
email: s...@maphpia.com | msn: s...@maphpia.com | gtalk: s...@maphpia.com
office: +502 6646-8047 | mobil: +502 4210-8819 | skype: stuardo_str



2011/9/30 Francisco Nieves <fnie...@gmail.com>

Mauricio Deleon

unread,
Oct 4, 2011, 7:02:38 PM10/4/11
to ph...@googlegroups.com
bueno, hoy me puse a hacer esta onda... emm, en RENAP me dijeron que cuando daba 10 el modulo 11 colocara cero, aunque saque todos los dpi del documento que me dio Mario, y ninguno dio 10, asi que no tome en cuenta esto. Aqui esta el codigo. si alguien lo quiere optimizar es bienvenido xD

function esIdentificacion($Identificacion,&$Error){
$Identificacion = strtoupper($Identificacion);
$Identificacion = str_replace("ñ","Ñ",$Identificacion);
if(preg_match ( "/^([A-UÑ])(?:[- ])?([0-9]{1,2})[- ]([0-9]+)$/u", $Identificacion ,$arr)){
$cedula = $arr[1] . $arr[2] ."-". $arr[3];
if($arr[2]<15&&$arr[1]==chr($arr[2]+64)){
echo $cedula;
}else if($arr[2]==15&&$arr[1]=="Ñ"){
return $cedula;
}else if($arr[2]>15&&$arr[1]==chr($arr[2]+63)){
return $cedula;
}else{
$Error = "Numero de Cedula invalido, reviselo por favor.";
return false;
}
}else if(preg_match ( "/^([0-9])([0-9])([0-9])([0-9])(?:[- ]?)([0-9])([0-9])([0-9])([0-9])([0-9])(?:[- ]?)([0-9]{2})([0-9]{2})$/", $Identificacion ,$arr)){
$suma = 0;
$dpi = "";
for( $i = 1; $i<9;$i++){
$suma += $arr[$i] * ($i + 1);
if($i == 5)$dpi = $dpi . "-"; 
$dpi = $dpi . $arr[$i];
}
$modulo = $suma % 11;
if($modulo == $arr[9] && $arr[10] <= 22 && $arr[11] <= 32 ){
$dpi = $dpi . $arr[9] . "-" . $arr[10] . $arr[11];
return $dpi;
}else{
$Error = "Codigo de DPI invalido, reviselo por favor.";
return false;
}
print_r($arr);

}else{
$Error = "Campo debe ser un numero de Cedula: L#-###... o CUI: ####-#####-####";
return false;
}
}
$Cedula = "A1 35135";
//aqui esta como usarlo:
if(!$Cedula = esIdentificacion($Cedula,$oops)){
echo $oops."\n";
}else{
echo $Cedula."\n";
}
$CUI = "1580 35224 0101";
if(!$CUI = esIdentificacion($CUI,$oops)){
echo $oops."\n";
}else{
echo $CUI."\n";
Reply all
Reply to author
Forward
0 new messages