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: ( ~27 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: ( ~27 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: ( ~41 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ů

14.11.2017 16:56 /František Kučera
Máš rád svobodný software a hardware nebo se o nich chceš něco dozvědět? Zajímá tě DIY, CNC, SDR nebo morseovka? Přijď na sraz spolku OpenAlt – tradičně první čtvrtek před třetím pátkem v měsíci: 16. listopadu od 18:00 v Radegastovně Perón (Stroupežnického 20, Praha 5).
Přidat komentář

12.11.2017 11:06 /Redakce Linuxsoft.cz
PR: 4. ročník odborné IT konference na téma Datová centra pro business proběhne již ve čtvrtek 23. listopadu 2017 v konferenčním centru Vavruška, v paláci Charitas, Karlovo náměstí 5, Praha 2 (u metra Karlovo náměstí) od 9:00. Konference o návrhu, budování, správě a efektivním využívání datových center nabídne odpovědi na aktuální a často řešené otázky, např Jaké jsou aktuální trendy v oblasti datových center a jak je využít pro vlastní prospěch? Jak zajistit pro firmu či jinou organizaci odpovídající služby datových center? Podle jakých kritérií vybrat dodavatele služeb? Jak volit součásti infrastruktury při budování či rozšiřování vlastního datového centra? Jak efektivně spravovat datové centrum? Jak eliminovat možná rizika? apod.
Přidat komentář

13.9.2017 8:00 /František Kučera
Máš rád svobodný software a hardware nebo se o nich chceš něco dozvědět? Zajímá tě DIY, CNC, SDR nebo morseovka? Přijď na sraz spolku OpenAlt – tentokrát netradičně v pondělí: 18. září od 18:00 v Radegastovně Perón (Stroupežnického 20, Praha 5).
Přidat komentář

3.9.2017 20:45 /Redakce Linuxsoft.cz
PR: Dne 21. září 2017 proběhne v Praze konference "Mobilní řešení pro business". Hlavní tématy konference budou: nejnovější trendy v oblasti mobilních řešení pro firmy, efektivní využití mobilních zařízení, bezpečnostní rizika a řešení pro jejich omezení, správa mobilních zařízení ve firmách a další.
Přidat komentář

15.5.2017 23:50 /František Kučera
Máš rád svobodný software a hardware nebo se o nich chceš něco dozvědět? Zajímá tě DIY, CNC, SDR nebo morseovka? Přijď na sraz spolku OpenAlt, který se bude konat ve čtvrtek 18. května od 18:00 v Radegastovně Perón (Stroupežnického 20, Praha 5).
Přidat komentář

12.5.2017 16:42 /Honza Javorek
PyCon CZ, česká konference o programovacím jazyce Python, se po dvou úspěšných ročnících v Brně bude letos konat v Praze, a to 8. až 10. června. Na konferenci letos zavítá např. i Armin Ronacher, známý především jako autor frameworku Flask, šablon Jinja2/Twig, a dalších projektů. Těšit se můžete na přednášky o datové analytice, tvorbě webu, testování, tvorbě API, učení a mentorování programování, přednášky o rozvoji komunity, o použití Pythonu ve vědě nebo k ovládání nejrůznějších zařízení (MicroPython). Na vlastní prsty si můžete na workshopech vyzkoušet postavit Pythonem ovládaného robota, naučit se učit šestileté děti programovat, efektivně testovat nebo si v Pythonu pohrát s kartografickým materiálem. Kupujte lístky, dokud jsou.
Přidat komentář

2.5.2017 9:20 /Eva Rázgová
Putovní konference československé Drupal komunity "DrupalCamp Československo" se tentokrát koná 27. 5.2017 na VUT FIT v Brně. Můžete načerpat a vyměnit si zkušenosti z oblasti Drupalu 7 a 8, UX, SEO, managementu týmového vývoje, využití Dockeru pro Drupal a dalších. Vítáni jsou nováčci i experti. Akci pořádají Slovenská Drupal Asociácia a česká Asociace pro Drupal. Registrace na webu .
Přidat komentář

1.5.2017 20:31 /Pavel `Goldenfish' Kysilka
PR: 25.5.2017 proběhne v Praze konference na téma Firemní informační systémy. Hlavními tématy jsou: Informační systémy s vlastní inteligencí, efektivní práce s dokumenty, mobilní přístup k datům nebo využívání cloudu.
Přidat komentář

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

> Poslední diskuze

15.12.2017 15:11 / Petit
freehold nj

15.12.2017 15:06 / Petit
nj freehold

5.12.2017 11:50 / Thomas
kitchen renovations

18.9.2017 14:37 / Rojas
high security vault

15.9.2017 7:33 / Wilson
new zealand childcare jobs

Více ...

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