Es una extensión de jQuery Open Source para validar diversos tipos de documentos y darle formato a los campos de entradas.
Por ejemplo, puedes darle el formato debido a un campo haciendo lo siguiente:
var cedula = $("#CampoCedula").SDQ('cedula');
y luego, cuando vas a someter el formulario puedes validarlo de la siguiente manera:
if (!cedula.validar()) {
alert ('El numero de cédula es inválido ');
return false;
}
Los tipos de documentos que se manejan son:
- Cédula de identidad y electoral - JCE
- Registro Nacional de Contribuyente (RNC) - DGII (beta)
- Número de Comprobante Fiscal (NCF) - DGII (beta)
- Número de Seguridad Social (NSS) - TSS (pendiente)
Puedes bajar la última versión de esta librería, disponible aquí e incluirlo junto con sus otros scripts. Recuerda que debes tener incluido jQuery para poder utilizar esta librería.
Le da formato a un campo para introducir una cédula:
- Solo acepta números.
- Maneja el paste para evitar caracteres inválidos.
- La longitud máxima de caracteres es 11. Ejemplo:
$('#campoCedula').SDQ('cedula');
Valida si la información recibida corresponde a un números de cédula:
- Compara contra el algoritmo de LUHN utilizando mod 10
- Maneja un listado de cédulas que fueron emitidas por la JCE, pero que no cumplen con el algoritmo anterior.
- Solo acepta números.
- Valida la longitud.
Ejemplo:
$.SDQ.validarCedula('00113918315'); // => False
Otra forma de validar un input de cédula es de la siguiente manera:
var cedula = $('#campoCedula').SDQ('cedula');
cedula.validar() // => Toma el valor del campo y se la pasa al método $.SDQ.validarCedula()
Le da formato a un campo para introducir un RNC:
- Solo permite que se puedan introducir números.
- Maneja el paste para evitar caracteres inválidos.
- La longitud máxima de caracteres es 9.
Ejemplo:
$('#campoRNC').SDQ('rnc');
Valida si la información recibida corresponde a un RNC:
- Compara contra el algoritmo.
- Maneja un listado de RNCs que fueron emitidos por la DGII, pero que no cumplen con el algoritmo anterior. //TODO: Pendiente
- Solo acepta números.
- Valida la longitud.
Ejemplo:
$.SDQ.validarRNC('A234567XX'); // => False
Otra forma de validar un input de rnc es de la siguiente manera:
var rnc = $('#campoRNC').SDQ('rnc');
rnc.validar() // => Toma el valor del campo y se la pasa al método $.SDQ.validarRNC()
Le da formato a un campo para introducir un NCF:
- Permite la entrada de datos de acuerdo a la estructura de un NCF (pendiente)
- Maneja el paste para evitar caracteres inválidos.
- Controla la longitud. (pendiente)
Ejemplo:
$('#campoNCF').SDQ('ncf');
Valida si la información recibida corresponde a un NCF:
- Compara contra el algoritmo (pendiente)
- Solo puede contener números y letras de acuerdo a las especificaciones
- Valida la longitud
Ejemplo:
$.SDQ.validarNCF('A999999999999999999'); // => False
Otra forma de validar un input de NCF es de la siguiente manera:
var ncf = $('#campoNCF').SDQ('ncf');
ncf.validar() // => Toma el valor del campo y se la pasa al método $.SDQ.validarNCF()
Le da formato a un campo para introducir un NSS:
- Solo acepta números.
- Maneja el paste para evitar caracteres inválidos.
- Solo permite longitud de XX. //TODO: Pendiente
Ejemplo:
$('#campoNSS').SDQ('nss');
Valida si la información recibida corresponde a un NSS:
- Compara contra el algoritmo XX // TODO: Pendiente
- Maneja un listado de NSS que fueron emitidos por la TSS, pero que no cumplen con el algoritmo anterior //TODO: Pendiente
- Solo acepta números.
- Valida la longitud //TODO: Pendiente
Ejemplo:
$.SDQ.validarNSS('A234567XX'); // => False
Otra forma de validar un input de NSS es de la siguiente manera:
var nss = $('#campoNSS').SDQ('nss');
nss.validar() // => Toma el valor del campo y se la pasa al método $.SDQ.validarNSS()
Si quieres contribuir en este proyecto puedes comenzar con uno de los issues pendientes o puedes proponer tus propias ideas. Antes de hacer tu pull request pasa tu código por JSLint.
Actualmente estamos trabajando en este proyecto: