Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

  • 7 odgovora
  • 3.978 pregleda

Najnovija ↓

eregi funkcija i polje za unos 29.12.2010. u 18:39 · pre 193 meseca #1
$str = $_POST['telefon'];
if ( !eregi( "^[-+()/0-9 ]+$", $str ))
{
$response="Unesite ispravan broj ili ostavite prazno polje!";
$form_success = FALSE;
}
else
....

Znaci imam polje za unos tel. broja i stavio sam koji su dozvoljeni znakovi...
Kako cu napravit da mogu unjet broj ili da može ostat prazno polje, jer tel. broj nije neophodan?

Kako stavit minimalan broj znakova 6?
Re: eregi funkcija i polje za unos 29.12.2010. u 21:06 · pre 193 meseca #2
npr ...

Code:

if ($str=="" ||  eregi( "^[-+()/0-9 ]{6,}$", $str )) echo"TRUE";
else echo"FALSE";
Re: eregi funkcija i polje za unos 29.12.2010. u 21:20 · pre 193 meseca #3
Pa, da bi omogucio prazno polje dovoljno je samo da + zamenis * (mislim na + koji se nalazi pored $ znaka a ne unutar karakter klase). A sto se tice minimalnog broja znakova... mislim da ti je pristup pogresan (dozvoljavas kombinacije tipa ++++-----9832712). Ne znam koje sve kombinacije odgovaraju tebi, pa ti ne mogu ponuditi precizan odgovor ali obrati paznju na ovaj sablon:

\(?\b[0-9]{3}\)?[-. ]?[0-9]{3}[-. ]?[0-9]{4}\b

On ce ti pokriti sledece kombinacije:
3334445555, 333.444.5555, 333-444-5555, 333 444 5555, (333) 444 5555 and all combinations thereof, like 333 4445555, (333)4445555 or 333444-5555.
Re: eregi funkcija i polje za unos 29.12.2010. u 22:02 · pre 193 meseca #4
Nisam programer, kao sto je i ocito, ali uspijem se snaci s gotovim skriptama, zdravom logikom i google-om... :)

@beep
Rijesio sam problem na drugi nacin i rekao bi da mi radi... :)

Code:
$validPhoneExpr = "^[-+()/0-9 ]+$";
if (!empty($telefon) && !ereg($validPhoneExpr, $telefon)){  
    $response="Unesite ispravan broj ili ostavite prazno polje!";
       $form_success   = FALSE;}
else bla, bla...  


Pretpostavljam (probat cu) da i tvoje radi... Ovo {6,} radi kao {min,max}?
Idem nekom logikom, to tvoje bi trebalo znacit: ako je ispunjeno jedno ili drugo onda idi dalje, ako nije javi gresku...
Znaci ovo je prazano =="" :)
Hvala!

@ka-ching
Ja imam gotovu mail skriptu koju malo prilagodjavam... Telefon je opcionalan, ali mi je palo na pamet da (kad sam se vec sekao s prepravljanjem) blokiram unos slova u telefon... Znaci nisam isao na kombinacije, vec sam samo htio dozvolit znakove koji se eventualno koriste za pisanje broja (znaci nesto kao +xxx (xx) xxx xxx). Mislio sam staviti i minimalan broj znakova 6, sad bi stavio 9 jer nema telefonskog broja ispod 9 znakova. Znam da mi to ne sprijecava upisivanje gluposti, ali eto... :)

Sto se tice ovog plusa... znaci da stavim:
Code:
if ( !eregi( "^[-+()/0-9 ]*$", $str ))
onda bi radila i ova moja original funkcija kad nema unosa?

Jos bi vas pitao, ako slucajno znate... Koliko su uopste sigurne od spama kontakt forme bez captcha-e?!


Re: eregi funkcija i polje za unos 30.12.2010. u 14:26 · pre 193 meseca #5
Samo jedna napomena da se od verzije PHP 5.3.0. ereg() i eregi() vise ne koriste pa je mozda pametnije da kad vec prepravljas nadjes neku zamenu.

Pogledaj preg_match()
Re: eregi funkcija i polje za unos 30.12.2010. u 15:07 · pre 193 meseca #6
@bakinjo
Da, zvezdica je bila sve sto je potrebno da dozvolis prazan unos.

I kao sto rece taksistaZR, radi buduce kompatibilnosti bolje je da koristis PCRE regex i njegove funkcije.
Re: eregi funkcija i polje za unos 30.12.2010. u 23:56 · pre 193 meseca #8
Citat:
beep: Ako stavis * ili + onda ne mozes da definises mininalan unos.

Mozes sa PCRE regexom:
Code:
(^$)?(?(1)^$|^[-+()\\/0-9]{6,}$)

Ali kao sto sam rekao ovaj regex je "nedovoljan". On trazi minimum 6 karaktera, koji mogu biti tipa "--35+(".
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme