LINUXSOFT.cz Přeskoč levou lištu
Uživatel: Heslo:  
   CZUKPL

> 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: ( ~28 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: ( ~28 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: ( ~42 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ů

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ář

18.6.2018 0:43 /František Kučera
Červnový pražský sraz spolku OpenAlt se koná již tento čtvrtek – 21. 6. 2018 od 18:00 v Kavárně Ideál (Sázavská 30, Praha), kde máme rezervovaný salonek. Tentokrát na téma: F-Droid, aneb svobodný software do vašeho mobilu. Kromě toho budou k vidění i vývojové desky HiFive1 se svobodným/otevřeným čipem RISC-V.
Přidat komentář

23.5.2018 20:55 /Ondřej Čečák
Od pátku 25.5. proběhne na Fakultě informačních technologií ČVUT v Praze openSUSE Conference. Můžete se těšit na spostu zajímavých přednášek, workshopů a také na Release Party nového openSUSE leap 15.0. V na stejném místě proběhne v sobotu 26.5. i seminář o bezpečnosti CryptoFest.
Přidat komentář

20.5.2018 17:45 /Redakce Linuxsoft.cz
Ve čtvrtek 31. května 2018 připravuje webový magazín BusinessIT ve spolupráci s Best Online Média s.r.o. pátý ročník odborné konference Firemní informační systémy 2018. Akce proběhne v kongresovém centru Vavruška (palác Charitas), Karlovo náměstí 5, Praha 2 (u metra Karlovo náměstí) od 9:00 hod. dopoledne do cca 15 hod. odpoledne. Konference je zaměřena na efektivní využití firemních informačních systémů a na to, jak plně využít jejich potenciál. Podrobnější informace na webových stránkách konfrence.
Přidat komentář

14.5.2018 7:28 /František Kučera
Květnový pražský sraz spolku OpenAlt se koná již tento čtvrtek – 17. 5. 2018 od 18:00 v Kavárně Ideál (Sázavská 30, Praha), kde máme rezervovaný salonek. Tentokrát na téma: Audio – zvuk v GNU/Linuxu.
Přidat komentář

7.5.2018 16:20 /František Kučera
Na stránkách spolku OpenAlt vyšla fotoreportáž Pražské srazy 2017 dokumentující srazy za uplynulý rok. Květnový pražský sraz na téma audio se bude konat 17. 5. 2018 (místo a čas ještě upřesníme).
Přidat komentář

17.4.2018 0:46 /František Kučera
Dubnový pražský sraz spolku OpenAlt se koná již tento čtvrtek – 19. 4. 2018 od 18:00 v Kavárně Ideál (Sázavská 30, Praha), kde máme rezervovaný salonek. Tématem tohoto srazu bude OpenStreetMap (OSM) aneb svobodné mapy.
Přidat komentář

16.3.2018 22:01 /František Kučera
Kulatý OpenAlt sraz v Praze oslavíme klasicky: u limonády a piva! Přijďte si posedět, dát si dobré jídlo a vybrat z mnoha piv do restaurace Kulový blesk, který najdete v centru Prahy nedaleko metra I. P. Pavlova na adrese Sokolská 13, Praha 2. Sraz se koná ve čtvrtek 22. března a začínáme v 18:00. Heslo: OpenAlt. Vezměte s sebou svoje hračky! Uvítáme, když si s sebou na sraz vezmete svoje oblíbené hračky. Jestli máte nějaký drobný projekt postavený na Arduinu, nějakou zajímavou elektronickou součástku, či třeba i pěkný úlovek z crowdfundingové akce, neváhejte. Oslníte ostatní a o zábavu bude postaráno.
Přidat komentář

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

> Poslední diskuze

20.2.2018 18:48 / Ivan Majer
portal

20.2.2018 15:57 / Jan Havel
Jak využíváte služby cloudu v podnikání?

16.1.2018 1:08 / Ivan Pittner
verejna ip od o2 ubuntu

15.1.2018 17:26 / Mira Harvalik
Re: Jak udělat HTML/Javascript swiping gallery do mobilu?

30.12.2017 20:16 / Michal Knoll
odmocnina

Více ...

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