Validace křestního jména (s možností prostředního jména) – Regulární výrazy – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu
Reklama
Reklama

Validace křestního jména (s možností prostředního jména) – Regulární výrazy – Fórum – Programujte.comValidace křestního jména (s možností prostředního jména) – Regulární výrazy – Fórum – Programujte.com

 

Toto vlákno bylo označeno za vyřešené — příspěvek s řešením.
Hledá se programátor! Plat 1 800 € + bonusy (firma Boxmol.com)
Lukas.0
Duch
8. 1. 2012   #1
-
0
-

Ahoj,

potřeboval bych validovat, jestli uživatel vložil křestní jméno a zároveň aby celková délka stringu byla 1-20 znaků

Správné tvary: "Antonín Josef", "Antonín", "antonín"

Špatné tvary: "Antonín22", " ", "", "Antonín+Josef", "Antonín   Josef", atd.

Zkoušel jsem:

$chars = "/^([a-z]+( [a-z])*){1,20}$/i";
if (preg_match($chars, $_POST['jmeno']))
...

případně alespoň (znaky+mezera):

$chars = "/^([a-z ]{1,20}$/i"; //nevezme ani "Josef Antonín"

Prosím poraďte, kde dělám chybu.

Díky!

Nahlásit jako SPAM
IP: 94.112.82.–
Reklama
Reklama
Řešení
jistr
~ Moderátor
0
Návštěvník
9. 1. 2012   #2
-
0
-
Vyřešeno Nejlepší odpověď

#1 Lukas.

  • Třída znaků [a-z] nevezme znaky s diakritikou, tzn. í ve slově Antonín.
  • Doporučil bych validovat regexem jen formát stringu, a na validaci délky použít funkci pro délku stringu. (v Ruby je to string.length, v PHP taky nějaká bude)
  • Pokud dá uživatel víc mezer, ber to jako validní a všechny nadbytečné odstraň.
  • Regex co to validuje (opět v Ruby, ale v PHP by měl být podobný nebo stejný) je: 
/^[a-zá-ž]+ +[a-zá-ž]+$/i
  • Tady je jak ten regex funguje, můžeš si tam otestovat co to vezme a co ne: http://rubular.com/r/Icbwcf3KgS
  • Pokud bys chtěl opravdu povolit jen jednu mezeru, stačí oddělat plusko za mezerou.

Nahlásit jako SPAM
IP: 95.82.161.–
Software Engineer @ Red Hat
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 2 hosté

Podobná vlákna

C# a jmena formularu — založil Tomáš

Výpis jména z databáze — založil Adam Hofhans

Iniciály z jména a přijmení — založil belzebub

Skloňování jména do 5.pádu — založil TomasUL

Výpis jména pozpátku — založil LUK4S3K

Moderátoři diskuze

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032016 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý