JSPM

validate-curp

1.0.0
  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 662
  • Score
    100M100P100Q98848F
  • License MIT

A simple library to validate Mexican CURPs (Personal ID)

Package Exports

  • validate-curp
  • validate-curp/dist/index.js

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (validate-curp) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

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/validate-curp@v1.0.0/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
  • validate-rfc
  • You need to check if an RFC is registered in SAT or is blacklisted? Try with Verifier.

Licencia

MIT