LINUXSOFT.cz Přeskoč levou lištu

ARCHIV



   

> Diskuze: Poradna Pomoc s regulárními výrazy...

Pomoc s regulárními výrazy...
(link)
17.3.2010 14:04
Lukáš Klimovič
Věk: ( ~34 let)
Ahoj všem, 
potřeboval bych pomoct s regulárními výrazy potřebuji ošetřit hodnoty 
Jméno (aby bylo počáteční vždy velké)
Příjmení (aby bylo počáteční vždy velké)
Město (velké počáteční písmeno, několikaslovné atd.)
Ulice (velké počáteční písmeno, několikaslovné a číslo domu nakonci) 
PSČ (5 čísel, možno s mezerou)
E-mail (...)

Už jsem s tím začal, ale hlasí to chyby
if
(ereg("^[A-Z]{1}[a-z]*$",$jmeno) 
and ereg("^[A-Z]{1}[a-z]*$",$prijm) 
and ereg("^[A-Z]{1}[a-z]*$",$mesto)
and ereg("^([A-Z]{1}[a-z]*){1,5},? {1}[0-9]{1,6}$",$ulice) //tady je možná problém s tou mezrou mezi ...,? × {1}[0-9]...
and ereg("^[0-9]{3} ?[0-9]{2}$",$psc) //to samé...
and ereg("^.+@.+\..+$",$mail)
) 
{
...
Re: Pomoc s regulárními výrazy...
(link)
17.3.2010 21:32
Aleš Hakl
Bydliště: Praha

Ja si treba myslim, ze validovat jestli jmeno zacina velkym pismenem je ponekud nesmyslny pozadavek, pokud vam na tom opravdu zalezi je pravdepodobne rozumnejsi proste pocatecni pismeno prevest na velke. Druha vec je, ze si lze predstavit naprosto platna jmena a prijmeni, ktera nemaji vlastnost, ze maji prave jedno velke pismeno a to na zacatku.

Pouzivat zapis {1} pro "prave jednou je nesmysl, protoze stejneho efektu muzete dosahnout tim, ze tam proste zadne opakovani nenapisete. Konstrukce [a-z] (a obdobne [A-Z]) vam da vsechny znaky, ktere se seradi dle nastaveni locales mezi a a z vcetne, coz nemusi nutne byt prave vsechna mala/velka pismena jak predpokladate (a mam za to, ze v ceske locale nejenomze jedno pismeno opomenete, ale navic maji velka a mala pismena stejnou vahu takze oboji vam da nejakou podmnozinu velkych i malych ceskych pismen). Pokud chcete znaky z nejake tridy pouzijte zapis [[:jmeno-tridy:]], treba [[:upper:]]

Mozna je dobry napad nepredpokladat, ze PSC ma nejaky konkretni format, obzvlast proto, ze cesky format NNN NN je ve svete spise vyjimkou. Dalsi vec je, ze majorita ceskych postovnich adres nezapada do vami predpokladaneho formatu ulice s cislem + mesto. Posledni radek adresy ma dle Ceske Posty specifikovat postu odpovidajici k danemu PSC, takze se tam vyskytuji retezce jako "Praha 411" nebo "posta Domasov u Brna", to druhe opravdu nazev mesta neni a to prvni vlastne take ne. Rozumny format jak zpracovavat adresy je vylozene freeform textove pole na dve nebo tri radky. Pokud bychom byli u te internacionalizace/globalizace, tak verte tomu, ze napriklad v rusku a japonsku se adresa pise v opacnem (logictejsim) poradi, tj. se vzrustajici specificnosti (a v nekterych oblastech japonska v postovni adrese neni uvedena ulice vubec a misto ni se uvadi v podstate souradnice domu).

A nakonec k oblibenemu tematu validovani emailove adresy: Regularni vyraz ktery <b>temer</b> kompletne popisuje protokolem SMTP povoleny format adresy je tohle. Racionalni zaver by byl, ze validovat emailovou adresu proste nema smysl

Re: Pomoc s regulárními výrazy...
(link)
19.3.2010 19:33
Aleš Hakl
Bydliště: Praha

A k te validaci: http://weblog.raganwald.com/2007/09/you-suck.html

Re: Pomoc s regulárními výrazy...
(link)
17.3.2010 21:33
Žaneta Severová

Podle meho nazoru je zbytecne validovat, zda jmeno a prijmeni zacina velkymi pismeny, protoze cim vic validaci na formulari je, tim vetsi je sance, ze nastane nejaky "vyjimecny" stav, se kterym validace neocekavaji. Napr. moje jmeno by vyse zminenou validaci neproslo urcite :) Pritom je to naprosto platne jmeno, dokonce se nachazi i v kalendari a urcite bych ho zadala i s velkym pismenem :) Pokud je tak nutne, aby jmeno a prijmeni velkym pismenem zacinalo, tak to lze osetrit programove, nic tak sloziteho to neni.

Dale je otazka, jestli validovat dohromady ulici s cislem. Taky mi to prijde takove divne. Opet treba retezec "U ohrady 3/1325a" neprosel a pritom se takove adresy vcelku bezne vyskytuji. Asi bych to dala do samostatnych poli a kontrolovala pouze vyplnil/nevyplnil. Pokud to uzivatel mysli s formularem vazne, tak tam spravne hodnoty vetsinou doplni dobrovolne, pokud ne, doplni tam blbosti at uz validni, nebo ne.

U PSC je otazka, zda to plati jen v ramci CR nebo celosvetove, protoze v zahranici tento format neni. Ono pokud byste to bral s tou validaci PSC vazne, tak uz to rovnou muzete kontrolovat podle zadane adresy a mesta napr. na webu ceske posty :) Coz je podle me uz uplny overkill, pokud se nejedna o nejakou "husto-enterprise aplikaci", kde je spravna adresa opravdu dulezita.

A co se tyce kontroly emailu, tak na webu je k nalezeni spousta regularnich vyrazu. Otazkou je, nakolik vsechny spravne splnuji specifikaci emailove adresy :)

Takze asi bych to s temi validacemi tak nehrotila a nedelala z uzivatele uplneho idiota, protoze to pak muze skoncit tim, ze programator udela idiota leda tak ze sebe :)

Re: Pomoc s regulárními výrazy...
(link)
17.3.2010 23:08
Lukáš Klimovič
Věk: ( ~34 let)

Díky moc, už jsem si spoustu chyb uvědomil... Jen bych se chtěl ještě zeptat, jak definuju, co má a co nemá být vyplněné...

Re: Pomoc s regulárními výrazy...
(link)
31.3.2010 16:44
Pavel `Goldenfish' Kysilka (TEAM)
Věk: ( ~48 let) , Pracovní pozice: programator, analytik , Praxe v IT let: ( ~14 let) , Bydliště: Praha-3-Žižkov

zdravim,

to, co chcete se resi jinak, pokud chcete dosahnout urcite preciznosti.

Jmenuj se to UIR = "Uzemne identifikacni registr" - http://forms.mpsv.cz/uir/ .

Stahnete databasi adres a ty overujte. Samozrejme, ze se udaje v UIR meni. Tak to chce i synchronizovat.

Co se tyce jmen a prijmeni, tak to se jmenuje "Cetnost jmen a prijmeni".

http://www.mvcr.cz/clanek/cetnost-jmen-a-prijmeni.aspx?q=Y2hudW09Ng%3D%3D

Minimalne na tom otestujete svoje regularni vyrazy. Anebo muzete mit lokalni databasi a oproti te overujete.
Chtelo by to tedy dat moznost uzivateli vlozit neco, co neni v databasi a pak to schvalit. Pripadne pridat do database.

Ono je pekne, ze zvalidujete neco pres regularni vyraz. ted je otazka, zda treba adresa "Psi bouda 11" muze existovat.
Chce to si predem urcit, kde je kvalita database, kterou hledate. + pracnost, udrzba, atd.... Mnohdy take lide nevedi presne svoji adresu a pak nadavaji, ze to funguje spatne.

gf

DISKUZE

Pomoc s regulárními výrazy... 17.3.2010 14:04 Lukáš Klimovič
  |- Re: Pomoc s regulárními výrazy... 17.3.2010 21:32 Aleš Hakl
  | L Re: Pomoc s regulárními výrazy... 19.3.2010 19:33 Aleš Hakl
  |- Re: Pomoc s regulárními výrazy... 17.3.2010 21:33 Žaneta Severová
  | L Re: Pomoc s regulárními výrazy... 17.3.2010 23:08 Lukáš Klimovič
  L Re: Pomoc s regulárními výrazy... 31.3.2010 16:44 Pavel `Goldenfish' Kysilka




Příspívat do diskuze mohou pouze registrovaní uživatelé.
> Vyhledávání software
> Vyhledávání článků

28.11.2018 23:56 /František Kučera
Prosincový sraz spolku OpenAlt se koná ve středu 5.12.2018 od 16:00 na adrese Zikova 1903/4, Praha 6. Tentokrát navštívíme organizaci CESNET. Na programu jsou dvě přednášky: Distribuované úložiště Ceph (Michal Strnad) a Plně šifrovaný disk na moderním systému (Ondřej Caletka). Následně se přesuneme do některé z nedalekých restaurací, kde budeme pokračovat v diskusi.
Komentářů: 1

12.11.2018 21:28 /Redakce Linuxsoft.cz
22. listopadu 2018 se koná v Praze na Karlově náměstí již pátý ročník konference s tématem Datová centra pro business, která nabídne odpovědi na aktuální a často řešené otázky: Jaké jsou aktuální trendy v oblasti datových center a jak je optimálně využít pro vlastní prospěch? Jak si zajistit odpovídající služby datových center? Podle jakých kritérií vybírat dodavatele služeb? Jak volit vhodné součásti infrastruktury při budování či rozšiřování vlastního datového centra? Jak efektivně datové centrum spravovat? Jak co nejlépe eliminovat možná rizika? apod. Příznivci LinuxSoftu mohou při registraci uplatnit kód LIN350, který jim přinese zvýhodněné vstupné s 50% slevou.
Přidat komentář

6.11.2018 2:04 /František Kučera
Říjnový pražský sraz spolku OpenAlt se koná v listopadu – již tento čtvrtek – 8. 11. 2018 od 18:00 v Radegastovně Perón (Stroupežnického 20, Praha 5). Tentokrát bez oficiální přednášky, ale zato s dobrým jídlem a pivem – volná diskuse na téma umění a technologie, IoT, CNC, svobodný software, hardware a další hračky.
Přidat komentář

4.10.2018 21:30 /Ondřej Čečák
LinuxDays 2018 již tento víkend, registrace je otevřená.
Přidat komentář

18.9.2018 23:30 /František Kučera
Zářijový pražský sraz spolku OpenAlt se koná již tento čtvrtek – 20. 9. 2018 od 18:00 v Radegastovně Perón (Stroupežnického 20, Praha 5). Tentokrát bez oficiální přednášky, ale zato s dobrým jídlem a pivem – volná diskuse na téma IoT, CNC, svobodný software, hardware a další hračky.
Přidat komentář

9.9.2018 14:15 /Redakce Linuxsoft.cz
20.9.2018 proběhne v pražském Kongresovém centru Vavruška konference Mobilní řešení pro business. Návštěvníci si vyslechnou mimo jiné přednášky na témata: Nejdůležitější aktuální trendy v oblasti mobilních technologií, správa a zabezpečení mobilních zařízení ve firmách, jak mobilně přistupovat k informačnímu systému firmy, kdy se vyplatí používat odolná mobilní zařízení nebo jak zabezpečit mobilní komunikaci.
Přidat komentář

12.8.2018 16:58 /František Kučera
Srpnový pražský sraz spolku OpenAlt se koná ve čtvrtek – 16. 8. 2018 od 19:00 v Kavárně Ideál (Sázavská 30, Praha), kde máme rezervovaný salonek. Tentokrát jsou tématem srazu databáze prezentaci svého projektu si pro nás připravil Standa Dzik. Dále bude prostor, abychom probrali nápady na využití IoT a sítě The Things Network, případně další témata.
Přidat komentář

16.7.2018 1:05 /František Kučera
Červencový pražský sraz spolku OpenAlt se koná již tento čtvrtek – 19. 7. 2018 od 18:00 v Kavárně Ideál (Sázavská 30, Praha), kde máme rezervovaný salonek. Tentokrát bude přednáška na téma: automatizační nástroj Ansible, kterou si připravil Martin Vicián.
Přidat komentář

   Více ...   Přidat zprávičku

> Poslední diskuze

31.7.2023 14:13 / Linda Graham
iPhone Services

30.11.2022 9:32 / Kyle McDermott
Hosting download unavailable

13.12.2018 10:57 / Jan Mareš
Re: zavináč

2.12.2018 23:56 / František Kučera
Sraz

5.10.2018 17:12 / Jakub Kuljovsky
Re: Jaký kurz a software by jste doporučili pro začínajcího kodéra?

Více ...

ISSN 1801-3805 | Provozovatel: Pavel Kysilka, IČ: 72868490 (2003-2024) | mail at linuxsoft dot cz | Design: www.megadesign.cz | Textová verze