Kódím.cz
1

Opakování

Osvěžení znalostí nabytých v předchozích lekcích a kurzech

1
Rodná čísla

Napište program, který zjistí, jestli je zadané rodné číslo platné. (Skutečná rodná čísla mají 9 nebo 10 číslic, my budeme uvažovat pouze rodná čísla mladších lidí, která mají 10 číslic.) Postupujte dle následujících kroků.

  1. Založte si projekt příkazem

    npm init kodim-app@latest cviceni-rodna-cisla html-css-js
    

    Ve VS Code otevřete složku cviceni-rodna-cisla.

  2. Pomocí funkce prompt se zeptejte uživatele na rodné číslo. Rodné číslo zkontrolujte podle bodů popsaných níže.

  3. Každé rodné číslo musí mít přesně 10 znaků. Zkontrolujte tedy, že zadaný řetězec je délky 10 a neprojdou nám například vstupy typu

    nepovím

    Slovo „nepovím“ má totiž jen 7 znaků.

    123456789123456789

    Řetězec „123456789123456789“ má totiž 18 znaků.

    Pokud uživatel zadal číslo špatné délky, vypište do stránky text:

    ❌ Uživatel zadal rodné číslo neplatné délky.

    V opačném případě vypište:

    ✔️ Zadané rodné číslo má správně deset znaků.

  4. Každé rodné číslo musí být celé číslo. Zda je nějaká hodnota celé číslo, v JavaScriptu zkontrolujete pomocí funkce Number.isInteger. Musíte však vstup předtím převést na číslo pomocí funkce Number.

    Number.isInteger(Number('25')); // vrací true
    Number.isInteger(Number('25.16')); // vrací false
    Number.isInteger(Number('ahoj')); // vrací false
    

    Opět vypište do stránky, zda podmínka platí.

    ✔️ Rodné číslo je celé číslo.

    ❌ Rodné číslo obsahuje nepovolené znaky.

  5. Každé rodné číslo musí být dělitelné 11. Zkontrolujte tedy, že zadané číslo je dělitelné jedenácti, a výsledek opět vypište do stránky.

✔️ Rodné číslo je dělitelné 11.

❌ Rodné číslo není dělitelné číslem 11.

  1. Pokud jsou všechny podmínky splněny, rodné číslo budeme považovat za platné. Informaci o platnosti vypište do stránky.

✔️ Zadané rodné číslo je platné.

❌ Uživatel zadal neplatné rodné číslo.

Po zadání rodného čísla by se na stránce měly objevit čtyři výpisy.

Řešení