Autor Zpráva
Sennin
Profil
Zdravím páni....

Našiel som tento skript pre overenie rodného čísla ale netuším vôbec ako ho použiť do JS som moc neni.

Za akékoľvek info vopred ďakujem.
mckay
Profil
ako ho použiť do JS som moc neni.
To bude asi trochu problém. Odkazovaný kód je node package, která se dá v tom úplně nejzákladnějším případě nainstalovat do node projektu a použít jak je popsáno v repozitáři. Předpokládám, že vy ale budete chtít jen rychlý způsob, jak na webovce ověřit jestli je rodné číslo ve správném formátu, že? (Ten postup od použití node balíčku po stav, kdy máte fungující JS v prohlížeči je trochu náročnější než zkopírovat a použít).

Navrhuji provést toto:

1. Zkopírovat soubor rodnecislo/rodnecislo.js
2. Odstranit ze souboru následující kód:

Object.defineProperty(exports, "__esModule", {
  value: true
});
exports.RodneCislo = RodneCislo;
exports.rodnecislo = rodnecislo;

3. Vložit do místa, kde chcete kontrolovat rodné číslo tento upravený skript přes <script defer src="rodnecislo.js"></script>
4. V moment, co máte k dispozici číslo ke kontrole (práci s ním), už postupovat podle návodu README.md odkazovaného repozitáře:
let rc = rodnecislo(vase_promenna_obsahujici_rodne_cislo);
// dalsi operace (napr kontrola jake pohlavi)
rc.isMale();
Tomášeek
Profil
Sennin:
V ČR má rodné číslo přesně daný formát. Validace se dá vyřešit regularem a par podmínkami.

Slovensky formát neznám (dříve býval podobný českému, ale myslím, ze se měnil, nebo se o tom alespoň mluvilo), ale bude někde popsany. Regex a par podmínek pak bude také řešitelný.
Keeehi
Profil
V ČR má rodné číslo přesně daný formát. Validace se dá vyřešit regularem a par podmínkami.
Dá, ale proč to dělat znovu, když už to někdo udělal za tebe. Ta "knihovna" má 250 řádek, žádný obrovský moloch. Nevidím v tom problém. Pokud z toho plánuje využít i nějaké další funkcionality než jen validaci, tak jedině dobře.
Tomášeek
Profil
Keeehi:
Neřešil jsem konkrétní knihovnu, jen jsem popsal faktický stav. Pokud neumím knihovnu použít, je to alternativní možnost řešení.
Sennin
Profil
Zatial som použil kód phpfashion...

Tak som to vyriešil takto kedže používam aj jquery validator

$.validator.addMethod("isIdCardNumberFormat", function(x, age) {
        if(!age) age = 0;
          try {
            if(x.length == 0) return true;
            if(x.length < 9) throw 1;
            var year = parseInt(x.substr(0, 2), 10);
            var month = parseInt(x.substr(2, 2), 10);
            var day = parseInt( x.substr(4, 2), 10);
            var ext = parseInt(x.substr(6, 3), 10);
            if((x.length == 9) && (year < 54)) return true;
            var c = 0;
            if(x.length == 10) c = parseInt(x.substr(9, 1));
            var m = parseInt( x.substr(0, 9)) % 11;
            if(m == 10) m = 0;
            if(m != c) throw 1;
            year += (year < 54) ? 2000 : 1900;
            if((month > 70) && (year > 2003)) month -= 70;
            else if (month > 50) month -= 50;
            else if ((month > 20) && (year > 2003)) month -= 20;
            var d = new Date();
            if((year + age) > d.getFullYear()) throw 1;
            if(month == 0) throw 1;
            if(month > 12) throw 1;
            if(day == 0) throw 1;
            if(day > 31) throw 1;
          } catch(e) {
            return false;
          }
            return true;
      }, "Rodné číslo nie je zadané správne.");

identification_number: {
            required: true,
            isIdCardNumberFormat: true,
          },

identification_number: {
            required: "Povinný Údaj!",
            remote: $.validator.format("Existujúce rodné číslo  <a href='#'>prihláste sa</a>")
          },

Ak by to niekomu pomohlo ....

P.S.: možno by to išlo aj vylepšiť ak budete vedieť ako som budem vďačný :)
lionel messi
Profil
Tomášeek:
Slovensky formát neznám (dříve býval podobný českému, ale myslím, ze se měnil, nebo se o tom alespoň mluvilo)

Zatiaľ je stále podobný, po vyriešení situácie okolo novej vlády a koronavírusu sa však zrejme do parlamentu dostane návrh na zrušenie. Nahradiť ich má tzv. BIFO, čo by mal byť desaťmiestny reťazec náhodných číslic.

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0