You're Invited:Meet the Socket Team at BlackHat and DEF CON in Las Vegas, Aug 7-8.RSVP
Socket
Socket
Sign inDemoInstall

validate-curp

Package Overview
Dependencies
Maintainers
1
Versions
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

validate-curp

A simple library to validate Mexican CURPs (Personal ID)


Version published
Weekly downloads
236
decreased by-3.28%
Maintainers
1
Install size
24.2 kB
Created
Weekly downloads
 

Changelog

Source

[1.0.0] - 2022-07-24

Added

  • First version of the project.

Readme

Source

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

ParameterTypeDescription
curpStringThe CURP to be validated.
optionsObjectSettings (Optional).

Response

It returns a plain object with the values:

ParameterTypeDescription
isValidBooleanIndicates if the string is a valid CURP.
curpStringThe formatted CURP (uppercase, with no white spaces or symbols). Returns null when input is an invalid CURP.
errorsArray[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:

ErrorDescripción
INVALID_FORMATThe 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_DATEThe string may have the correct format, but digits generate an invalid date. Eg: MOTR935511HJCRMN03 because it refers to month 55.
INVALID_STATEThe 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_DIGITThe 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_WORDThe 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

Licencia

MIT

Keywords

FAQs

Package last updated on 24 Jul 2022

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc