项目作者: arseniosiani

项目描述 :
Modulo nodejs che il effettua il check / creazione / parsing del Codice Fiscale italiano。 Semplice e diretto
高级语言: JavaScript
项目地址: git://github.com/arseniosiani/cfjs.git
创建时间: 2019-03-14T16:48:03Z
项目社区:https://github.com/arseniosiani/cfjs

开源协议:MIT License

下载


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

  1. npm i @arseniosiani/cfjs --save

Usage

  1. const cfjs = require('@arseniosiani/cfjs');
  2. let infos = cfjs.parse("RSSMRA72L09H501S");
  3. console.log(infos);
  4. // {
  5. // nome: 'MARIO',
  6. // cognome: 'ROSSI',
  7. // sesso: 'M',
  8. // data_nascita: '1972-07-09',
  9. // comune_nascita: 'Roma',
  10. // provincia_nascita: 'RM',
  11. // cap_nascita: '00118',
  12. // cod_catastale_nascita: 'H501'
  13. // }
  14. // =========================================
  15. let cf = cfjs.stringify({
  16. nome: 'MARIO',
  17. cognome: 'ROSSI',
  18. sesso: 'M',
  19. data_nascita: '1972-07-09',
  20. comune_nascita: 'Roma',
  21. provincia_nascita: 'RM',
  22. cap_nascita: '00118',
  23. cod_catastale_nascita: 'H501'
  24. });
  25. console.log(cf); // RSSMRA72L09H501S
  26. let is_valid = cfjs.check("RSSMRA72L09H501S");
  27. console.log(is_valid); // true

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

  1. let cf = cfjs.stringify({
  2. nome: 'MARIO',
  3. cognome: 'ROSSI',
  4. sesso: 'M',
  5. data_nascita: '1972-07-09',
  6. cap_nascita: '00118', // solo CAP
  7. });
  8. console.log(cf); // RSSMRA72L09H501S
  9. // =========================================
  10. let cf = cfjs.stringify({
  11. nome: 'MARIO',
  12. cognome: 'ROSSI',
  13. sesso: 'M',
  14. data_nascita: '1972-07-09',
  15. cod_catastale_nascita: 'H501' // solo codice catastale
  16. });
  17. 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

  1. const cfjs = require('@arseniosiani/cfjs')
  2. let infos = cfjs.parse("RSSMRA72L09Z247X")
  3. console.log(infos);
  4. // {
  5. // nome: 'MRA',
  6. // cognome: 'RSS',
  7. // sesso: 'M',
  8. // data_nascita: '1972-07-09',
  9. // comune_nascita: 'Malaysia', <- Stato estero nel campo del comune
  10. // provincia_nascita: 'EE', <- EE come provincia di nascita
  11. // cap_nascita: '', <- CAP di nascita sempre vuoto
  12. // cod_catastale_nascita: 'Z247'
  13. // }
  14. // =========================================
  15. let cf = cfjs.stringify({
  16. nome: 'MARIO',
  17. cognome: 'ROSSI',
  18. sesso: 'M',
  19. data_nascita: '1972-07-09',
  20. comune_nascita: 'Germania' // stato estero
  21. })
  22. console.log(cf); // RSSMRA72L09Z112D

Implementa anche la generazione degli omocodici:

  1. const cfjs = require('@arseniosiani/cfjs')
  2. let omocodes = cfjs.getOmocodes("RSSMRA72L09Z247X")
  3. console.log(omocodes)
  4. // [
  5. // 'RSSMRA72L09Z2QTG',
  6. // 'RSSMRA72L09ZNQTV',
  7. // 'RSSMRA72L0VZNQTK',
  8. // 'RSSMRA72LLVZNQTV',
  9. // 'RSSMRA7NLLVZNQTG',
  10. // 'RSSMRATNLLVZNQTD',
  11. // 'RSSMRA72L09Z24TU',
  12. // 'RSSMRA72L09Z24TU'
  13. // ]