Autor Zpráva
pregerror
Profil *
Ahoj, testuju řetězec ($_GET parametr) tak, aby mi dával buď číslo nebo řetězec čísel oddělených pomlčkou, např. 1-2-2000-15620

pomlčka nesmí být na začátku ani na konci

nevyhovují jen tyto výrazy:

012885

-125223

-012

125-0125

125-0125-

125-125--2

právě posledně uvedený mě trápí, furt prochází dvě pomlčky, byť se mi zdá, že to mám ošetřený {0,1}

mrkněte na to prosím, dík:

if(preg_match('#[1-9]{1}[0-9]{0,20}(-{0,1}[1-9]{1}[0-9]{0,12}){0,60}$#', $val))
pregerror
Profil *
Sakra, soráč, jenom co jsem to sem napsal, zjistil jsem chybu, na začátku chybí ^ pro označení začátku řetězce, správně tedy:

'#^[1-9]{1}[0-9]{0,20}(-{0,1}[1-9]{1}[0-9]{0,12}){0,60}$#'
a to už funguje.

Sorry za řádek v db, ale snad to někoho inspiruje :)

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: