Code Monkey home page Code Monkey logo

cfjs's Introduction

cfjs

Modulo nodejs che il effettua il check/creazione/parsing del Codice Fiscale italiano, l'elenco dei comuni italiani viene aggiornato dal repo di matteocontrini; buona parte della logica proviene dal repo di lucavandro
Semplice e diretto!

Intallation

npm i @arseniosiani/cfjs --save

Usage

const  cfjs  =  require('@arseniosiani/cfjs');
let  infos  =  cfjs.parse("RSSMRA72L09H501S");
console.log(infos);
// {
// nome: 'MARIO',
// cognome: 'ROSSI',
// sesso: 'M',
// data_nascita: '1972-07-09',
// comune_nascita: 'Roma',
// provincia_nascita: 'RM',
// cap_nascita: '00118',
// cod_catastale_nascita: 'H501'
// }

// =========================================
let cf = cfjs.stringify({
  nome: 'MARIO',
  cognome: 'ROSSI',
  sesso: 'M',
  data_nascita: '1972-07-09',
  comune_nascita: 'Roma',
  provincia_nascita: 'RM',
  cap_nascita: '00118',
  cod_catastale_nascita: 'H501'
});
console.log(cf);  // RSSMRA72L09H501S

let is_valid = cfjs.check("RSSMRA72L09H501S");
console.log(is_valid);  // true

รˆ possibile calcolare il Codice fiscale indicando anche solo alcune informazioni del luogo di nascita:

let cf = cfjs.stringify({
  nome: 'MARIO',
  cognome: 'ROSSI',
  sesso: 'M',
  data_nascita: '1972-07-09',
  cap_nascita: '00118', // solo CAP
});
console.log(cf);  // RSSMRA72L09H501S

// =========================================
let cf = cfjs.stringify({
  nome: 'MARIO',
  cognome: 'ROSSI',
  sesso: 'M',
  data_nascita: '1972-07-09',
  cod_catastale_nascita: 'H501' // solo codice catastale
});
console.log(cf);  // RSSMRA72L09H501S

Funziona anche con i Codici fiscali generati su soggetti nati all'estero
I codici catastali esteri e i relativi nomi di nazioni sono aggiornati dal sito istat

const  cfjs  =  require('@arseniosiani/cfjs')
let  infos  =  cfjs.parse("RSSMRA72L09Z247X")
console.log(infos);
// {
//  nome: 'MRA',
//  cognome: 'RSS',
//  sesso: 'M',
//  data_nascita: '1972-07-09',
//  comune_nascita: 'Malaysia',  <- Stato estero nel campo del comune
//  provincia_nascita: 'EE',     <- EE come provincia di nascita
//  cap_nascita: '',             <- CAP di nascita sempre vuoto
//  cod_catastale_nascita: 'Z247'
// }

// =========================================
let cf = cfjs.stringify({
  nome: 'MARIO',
  cognome: 'ROSSI',
  sesso: 'M',
  data_nascita: '1972-07-09',
  comune_nascita: 'Germania' // stato estero
})
console.log(cf);  // RSSMRA72L09Z112D

Implementa anche la generazione degli omocodici:

const cfjs = require('@arseniosiani/cfjs')
let omocodes = cfjs.getOmocodes("RSSMRA72L09Z247X")
console.log(omocodes)
// [
//  'RSSMRA72L09Z2QTG',
//  'RSSMRA72L09ZNQTV',
//  'RSSMRA72L0VZNQTK',
//  'RSSMRA72LLVZNQTV',
//  'RSSMRA7NLLVZNQTG',
//  'RSSMRATNLLVZNQTD',
//  'RSSMRA72L09Z24TU',
//  'RSSMRA72L09Z24TU'
// ]

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.