Autor Zpráva
suvel
Profil
Protože mě trochu tlačí čas a dobře se neorientuji v regulárních výrazech, prosím o pomoc: Potřebuji javascriptem zkontrolovat, jestli číslo ulice je zapsané buď jen jako číslo, nebo jako číslo/číslo (např. 123 nebo 123/4) a současně by se měly tolerovat případné mezery před a za lomítkem (123 / 4). Předem děkuji za pomoc.
lionel messi
Profil
suvel:
Jednoduchá funkcia, regulár pre popísané prípady funguje, existenciu kratšej alternatívy nevylučujem.
function validCisloUlice(cislo) {
  var pattern = /^\d+( ?\/ ?\d+)?$/;
  if (pattern.test(cislo)) {
    return true;
  }
  else {
    return false;
  }
}

Upravené, v pôvodnej verzii neprechádzalo prosté jednociferné číslo.
Tomáš123
Profil
lionel messi:
Nie je na riadku 2 jedno plusko navyše? Formát má byť 123/4.
lionel messi
Profil
Tomáš123:
Nie je na riadku 2 jedno plusko navyše? Formát má byť 123/4.
Dobrá pripomienka, v číslovaní ulíc sa nevyznám, ale myslím si, že suvel má na mysli formát číslovania v tvare číslo súpisné / číslo orientačné. A nikde nie je napísané (pred reakciou na tvoj príspevok som si to overoval), že české súpisné (resp. v češtine popisné) alebo orientačné čísla musia pozostávať len z jedinej číslice. Ale môžem sa mýliť.
juriad
Profil
lionel messi:
Lze to zjednodušit třeba takto:
function validCisloUlice(cislo) {
  return /^\d+( ?\/ ?\d+)?$/.test(cislo);
}
suvel
Profil
Děkuji všem, takhle je to OK. Jen poznámka: někdo vyplňuje první popisné a druhé orientační, někdo naopak.
Chamurappi
Profil
Reaguji na suvela:
V některých číslech orientačních můžou být i písmena. Nevím, jestli jsou pro ně nějaká přesná pravidla.
lionel messi
Profil
suvel:
Asi najkomplexnejší je tento regulár funkčný aj pre JS: www.regularnivyrazy.info/regularni-vyraz-adresa.html#.VPDiSxafVyU (rieši aj písmená v orientačnom čísle).
suvel
Profil
Chamurappi, lionel messi:
Přesně to jsem teď řešil - za číslem může být jedno písmeno.
Taže si myslím, že úplně vyhovuje /^\d+[a-zA-Z]?( ?\/ ?\d+[a-zA-Z]?)?$/ (možná jsem se už něco naučil :-) Akorát, že jako první číslice může být 0, ale to mě neprudí. A ten odkaz v #8 neřeší co jsem už psal - že lidi ty čísla píšou každý v jiném pořadí, tak tady lze přidat písmenko pro jistotu za obě čísla.

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

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