codemeli

1.0.3 • Public • Published

CodeMeli

Iranians national number (NID,SSN) parser & validator

CircleCI npm

Node.js

City codes

# Using Yarn 
yarn add codemeli
# Using NPM 
npm install --save codemeli

Browser

<script src="https://unpkg.com/codemeli@1.0.2" type='text/javascript'></script> 

API

This packages exports codemeli(code,returnObj) function

code

National number value. it can be string or number, both are supported.

return value

If for any reason input is invalid it will return null Otherwise It will return a formatted 10 digits code.

If returnObj is true (defaults to false) function will return an object with this fields instead:

  • code
  • parity
  • city_code
  • uid

Example

const codemeli = require('codemeli');
 
var inputValue='xxxxxxxxxx'; // TODO: Change this value
 
// Simple usage
const national_number = codemeli(inputValue);
 
console.log(national_number); // xxxxxxxxxx
 
// Object style
const national_number_obj = codemeli(inputValue, true);
 
/*
{
  code: 'xxxxxxxxxx',
  parity: 'x',
  city_code: 'xx',
  uid: 'xxxxxxx' 
}
*/
console.log(national_number_obj);

Algorithm

Parity checking algorithm extracted from an article from aliarash.com (Also available here)

City & State DB [WIP]

Unfortunately there is no public official db of city codes and there was typos in unofficial ones. I tried my best to detect typos by both comparing all of them and user comments. Here is the list of discovered references:

Please check docs/city_codes.json and docs/missing_cities.txt for more info.

Read More

Related projects

LICENSE

MIT License Copyright (c) 2017 Fandogh - Pooya Parsa

Package Sidebar

Install

npm i codemeli

Weekly Downloads

7

Version

1.0.3

License

MIT

Last publish

Collaborators

  • pi0