validate-curp
v1.0.0
Published
A simple library to validate Mexican CURPs (Personal ID)
Downloads
1,471
Maintainers
Readme
Validate CURP
A simple and lightweight library to validate Mexican CURPs (Personal ID).
Install
NodeJS
Use NPM:
$ npm install --save validate-curp
Or YARN:
$ yarn add validate-curp
Browser
Add the script to your project:
<!-- Latest version -->
<script src="https://cdn.jsdelivr.net/gh/manuelmhtr/validate-curp@latest/dist/index.js" type="text/javascript"></script>
<!-- Or specify a version -->
<script src="https://cdn.jsdelivr.net/gh/manuelmhtr/[email protected]/dist/index.js" type="text/javascript"></script>
<!-- This will export a global function "validateCurp": -->
<script type="text/javascript">
var data = validateCurp('motr930411hjcrmn03');
console.log(data);
</script>
API
The library only exposes a single function (.validateCurp
).
.validateCurp(curp)
Checks whether a string is a valid CURP and returns validation details.
Parameters
| Parameter | Type | Description |
| --------- | ---- | ----------- |
|curp
|String|The CURP to be validated.|
|options
|Object| Settings (Optional).|
Response
It returns a plain object with the values:
| Parameter | Type | Description |
| --------- | ---- | ----------- |
|isValid
|Boolean|Indicates if the string is a valid CURP.|
|curp
|String|The formatted CURP (uppercase, with no white spaces or symbols). Returns null
when input is an invalid CURP.|
|errors
|Array[String]|In case the CURP is invalid, the reasons why the CURP is invalid will be listed here.|
Possible errors
values and they description are:
| Error | Descripción |
| ----- | ----------- |
|INVALID_FORMAT
|The format is invalid, that means, the string does not meet with the required length or expected structure. Eg: XYZ
because clearly is not an CURP. |
|INVALID_DATE
|The string may have the correct format, but digits generate an invalid date. Eg: MOTR935511HJCRMN03
because it refers to month 55
.|
|INVALID_STATE
|The string may have the correct format, but letters for state don't match with a valid one. Eg: MOTR9390411HXXRMN03
because it refers to state XX
, which does not exist. See the valid states list here.|
|INVALID_CHECK_DIGIT
|The string has a valid format, but the last character (check digit) is invalid. Eg: MOTR930411HJCRMN09
ends with 9
but it is expected to end with 3
.|
|FORBIDDEN_WORD
|The string contains one of the inconvenient words that cannot be included in a CURP. Eg: FETO930411HJCRMN03
the initials make the word FETO
(fetus, LOL). Find the full list of words in this document.|
Example
const validateCurp = require('validate-curp');
const response = validateCurp('motr930411hjcrmn03');
console.log(response);
/*
Prints:
{
isValid: true,
curp: 'MOTR930411HJCRMN03'
}
*/
const response = validateCurp('This is not a CURP');
console.log(response);
/*
Prints:
{
isValid: false,
curp: null,
errors: ['INVALID_FORMAT']
}
*/
Tests
Run the test with the command:
$ yarn test
Related
- validate-rfc
- You need to check if an RFC is registered in SAT or is blacklisted? Try with Verifier.
Licencia
MIT