Skip to content

Latest commit

 

History

History
136 lines (109 loc) · 4.54 KB

README_pl.md

File metadata and controls

136 lines (109 loc) · 4.54 KB

PESEL

Bardzo prosta klasa w TypeScript do określania poprawności numeru PESEL — Powszechnego Elektronicznego Systemu Ewidencji Ludności używanego w Polsce od 1979. Ta klasa nie ma żadnych zależności zewnętrznych.

Numer PESEL obsługuje daty urodzin od 1800-01-01 do 2299-12-31 (YYYY-MM-DD), zawiera numer seryjny, informację o płci urodzonej osoby oraz sumę kontrolną.

🇬🇧 See English readme file.

Użycie

import {Pesel} from './Pesel.ts';
let language = 'pl';      // obsługiwane języki: 'pl' (polski) i 'en' (angielski)

// poprawny PESEL
let pesel = '29511300014';
const p1 = new Pesel.Check(pesel, language);

console.log(p1.valid());   // true
console.log(p1.verdict()); // 'numer PESEL jest poprawny ✅'
console.log(p1.info());    // 'To jest mężczyzna urodzony w niedzielę 13 listopada 2129 r.'
console.log(p1.date());    // '2129-11-13'
console.log(p1.error());   // null

// niepoprawny PESEL
pesel = '29513300014';
const p2 = new Pesel.Check(pesel, language);

console.log(p2.valid());   // true
console.log(p2.verdict()); // 'numer PESEL nie jest poprawny ⛔'
console.log(p2.info());    // null
console.log(p2.date());    // null
console.log(p2.error());   // 'niepoprawna data (2129-11-33)'

Można również:

console.log(p1.json());    // {string w formacie JSON ze wszystkimi właściwościami}
p1.print();                // drukuje wszystkie właściwości do konsoli

Metody

Klasa Pesel posiada następujące publiczne metody:

  • date() - string: data z numeru PESEL w formacie 'YYYY-MM-DD' lub null, jeśli PESEL nieprawidłowy,
  • error() - string: wyjaśnienie niepoprawności numeru lub null, jeśli PESEL prawidłowy,
  • verdict() - string: czytelna informacja, czy PESEL jest poprawny,
  • info() - string: informacja o osobie posiadającej taki PESEL,
  • json() - string: JSON ze wszystkimi właściwościami lub null, jeśli PESEL nieprawidłowy,
  • print() - void: drukuje wszystkie właściwości do konsoli,
  • valid() - boolean: czy PESEL jest poprawny.

Właściwości

Klasa PeselProperties ma następujące właściwości:

Właściwości zawsze obecne

  • icon - string: ✅ lub ⛔,
  • isValid - boolean: czy PESEL jest prawidłowy,
  • lang - string: dwuliterowy kod języka,
  • value - string: przycięty wprowadzony numer,
  • verdict - string: informacja, czy PESEL jest prawidłowy.

Właściwości dodatkowo obecne przy błędnym numerze

  • error - string: przyczyna błędu

Właściwości dodatkowo obecne przy poprawnym numerze

  • century - integer: jedna lub dwie ostatnie cyfry z roku,
  • checksum - integer: suma kontrolna (ostatnia cyfra),
  • dateLong - string: urodziny w długim formacie,
  • dateObj - obiekt klasy Date z datą urodzin,
  • date - string: urodziny w formacie YYYY-MM-DD,
  • dayInt - integer: dzień z daty urodzin,
  • day - string: dwuznakowy dzień z daty urodzin,
  • dowName - string: dzień tygodnia z daty urodzin,
  • dow - integer: dzień tygodnia z daty urodzin (0 = niedziela),
  • icon - string: ✅ lub ⛔w zależności od poprawności PESEL-u,
  • info - string: szczegółowa informacja o osobie z takim numerem PESEL,
  • monthInt - integer: miesiąc z daty urodzin,
  • monthName - string: miesiąc z daty urodzin,
  • month - string: miesiąc z daty urodzin,
  • serial - string: numer seryjny (z informacją o płci),
  • sexName - string: płeć,
  • sex - string: płeć (male/female),
  • yearShort - string: dwie ostatnie cyfry z roku,
  • year - integer: rok z daty urodzin.

Właściwości wydrukowane do konsoli

Poprawny PESEL

PeselProperties = {
    icon: '✅',
    value: '29511300014',
    lang: 'pl',
    isValid: true,
    verdict: 'numer PESEL jest poprawny',
    yearShort: '29',
    century: 21,
    year: 2129,
    month: '11',
    monthInt: 11,
    monthName: 'listopad',
    day: '13',
    dayInt: 13,
    date: '2129-11-13',
    dateLong: '13 listopada 2129',
    dateObj: '2129-11-13T00:00:00.000Z',
    dow: 0,
    dowName: 'niedziela',
    serial: '0001',
    sex: 'male',
    sexName: 'mężczyzna',
    checksum: 4,
    info: 'To jest mężczyzna urodzony w niedzielę 13 listopada 2129 r.'
}

Niepoprawny PESEL

PeselProperties =  {
    icon: '⛔',
    isValid: false,
    lang: 'pl',
    error: '"niepoprawna data (2129-11-33)',
    value: '29513300014',
    verdict: '"numer PESEL nie jest poprawny'
}