Avatar
pluto-ppes
Člen
Avatar
pluto-ppes:

Ahoj,
vytvářím objednávkový formulář a chtěl bych využít v elementu input atribut pattern. Rád bych se tu poradit jaká pravidla jsou vhodná pro jednotlivá pole.

Jméno: pattern="[a-žA-Ž]{2,13}"
Příjmení: pattern="[a-žA-Ž]{2,20}"
Telefon: pattern="[0-9]{9}"
Email: pattern="^[^.]+(\­.[^.]+)*@([^.]+[­.])+[a-z]{2,3}$"
Kontrola emailu: pattern="^[^.]+(\­.[^.]+)*@([^.]+[­.])+[a-z]{2,3}$"
Ulice: pattern="[a-žA-Ž0-9%a-žA-Ž\./ ]+[a-žA-Ž0-9%a-žA-Ž0-9 ]{1,26}"
Číslo popisné: pattern="[0-9%/ ]*[0-9]{1,10}"
PSČ: pattern="[0-9]{5}"
Město: pattern="[a-žA-Ž ]+[a-žA-Ž]{1,21}"

Děkuji za odpovědi.

 
Odpovědět 15.4.2015 13:27
Avatar
Odpovídá na pluto-ppes
Michal Žůrek (misaz):

hned první je špatně. A-Ž se bere podle ASCII a v ASCII jsou znaky s diakritikou rozházené. Resp. dokonce tam ani nejsou, ale rozšířené sady je dodávají.

Nahoru Odpovědět 15.4.2015 14:18
Nesnáším {}, proto se jim vyhýbám.
Avatar
pluto-ppes
Člen
Avatar
Odpovídá na Michal Žůrek (misaz)
pluto-ppes:

Proto bych se právě chtěl poradit s místníma GURU, jak elegantně na to.

Při vytváření vlákna jsem dal dohromady pár pravidel, aby bylo lépe nad čím diskutovat.

 
Nahoru Odpovědět 15.4.2015 14:51
Avatar
sunspinx
Člen
Avatar
sunspinx:

Co ak si bude objednavat nieco Rus alebo Cinan? :D

 
Nahoru Odpovědět  +1 15.4.2015 18:50
Avatar
Tomáš123
Člen
Avatar
Odpovídá na pluto-ppes
Tomáš123:

Prečo to neoveruješ na strane servera pomocou PHP? HTML kód môže hocikto editovať. Telefónne číslo má minimálne 10 znakov a môže obsahovať aj +, čo nepovoľuješ. Ulicu, mesto a emaily sú zbytočne dlhé. Stačí polovica.

Inak, sú pravidlá iné ako pri regulárnych výrazoch v PHP? Zdá sa mi, že symboly + a * používaš trochu zle, ale nepoznám HTML syntax (ak nejaká existuje)...

Nahoru Odpovědět 16.4.2015 21:35
Keby nebolo Internetu Exploreru, nebolo by dnešného internetu.
Avatar
Michal Šmahel (ceskyDJ):

Pokud už chceš využívat ověření na straně klienta (přes HTML či JS), musíš stejně i na straně serveru.
Jak již zmínil Tomáš123, HTML i JS jdou upravit a pak ti to je nanic.
Pokud to budeš mít na klientovi i na serveru, ušetříš výkon serveru (malinko), protože pokud to neprojde na klientovi, server to nezatěžuje.
Znaky A-Ž určitě ne, stačí A-Z a a-z a potřebné ručně. (Psal ti to už Michal Žůrek (misaz))

Nahoru Odpovědět 16.4.2015 21:59
Nejdůležitější je motivace, ovšem musí být doprovázena činy.
Avatar
pluto-ppes
Člen
Avatar
pluto-ppes:

Klasicky využívám při odesílání formulářů HTML, Javascript a PHP validaci. Protože první 2 nejsou 100 % ochrana. Na tvorbu formulářů je tu již plno vláken, ale na toto téma jsem tu ještě podobné nenašel.

Pattern je novými prohližeči plně podporován i s drobnými animacemi, tak proč ho nevyužívat. Za málo práce pěkný výsledek :-) Jde právě jen o ty pravidla dát dohromady.

Nejhorší je počítat s takovými příklady jako, že má někdo příjmení například Červenokostelecký (zapsáno v České knize rekordů).

Ulice jsou taky hrozný zvěrstva například ulice jménem "GENERÁLA JAROSLAVA SÁZAVSKÉHO VEDRALA".

To číslo je fakt, že by mělo přijímat oba tvary pokud to není přímo někde u labelu telefonu napsaný.

S těma českýma znakama to asi jinak nepujde něž je pěkně vypsat.

 
Nahoru Odpovědět 17.4.2015 12:04
Avatar
sunspinx
Člen
Avatar
sunspinx:

Nechcem ti do toho moc hovorit, ale musis pocitat s anomaliami, ktore sa mozu vyskytnut...

Kedze neviem, ci tento objednavkovi formular chces pouzivat niekde na eshope alebo to je len praca resp. cvicis si to, tak jedna vec... Pokial si bude fakt objednavat niekto nieco zo zahranicia a nazov ulice bude mat specialne znaky, ktore nema cestina/slovencina, tak prides o klienta (zalezi podla toho, ci budes mat len ceskoslovensko a pod.).

Dalsia vec - pristahovalec - Moze mat v mene specialne znaky ako som spominal hore, tj. Turek, Cinan, Rus a dalsie azijske krajiny...

A hlavne dlzku ulice neurcuj ani mena a priezviska, ak uz tak fakt len to telefonne cislo.

 
Nahoru Odpovědět 17.4.2015 15:02
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 8 zpráv z 8.