Skip to content

Latest commit

 

History

History
94 lines (68 loc) · 3.09 KB

README.md

File metadata and controls

94 lines (68 loc) · 3.09 KB

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/[email protected]" 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