Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

eregi funkcija i polje za unos

[es] :: PHP :: eregi funkcija i polje za unos

[ Pregleda: 2629 | Odgovora: 7 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

bakinjo
Joe Claivas
nezaposlen
Mostar

Član broj: 212852
Poruke: 30
*.tel.net.ba.



Profil

icon eregi funkcija i polje za unos29.12.2010. u 17:39 - pre 161 meseci
$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?
 
Odgovor na temu

beep
Srbija/Vrbas

Član broj: 19294
Poruke: 198
*.dynamic.sbb.rs.

Sajt: keselj.xyz


+1 Profil

icon Re: eregi funkcija i polje za unos29.12.2010. u 20:06 - pre 161 meseci
npr ...

Code:

if ($str=="" ||  eregi( "^[-+()/0-9 ]{6,}$", $str )) echo"TRUE";
else echo"FALSE";
 
Odgovor na temu

ka-ching

Član broj: 276067
Poruke: 4
*.dynamic.isp.telekom.rs.



Profil

icon Re: eregi funkcija i polje za unos29.12.2010. u 20:20 - pre 161 meseci
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.
 
Odgovor na temu

bakinjo
Joe Claivas
nezaposlen
Mostar

Član broj: 212852
Poruke: 30
*.tel.net.ba.



Profil

icon Re: eregi funkcija i polje za unos29.12.2010. u 21:02 - pre 161 meseci
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?!


 
Odgovor na temu

taksistaZR
zrenjanin

Član broj: 124170
Poruke: 80
*.dynamic.isp.telekom.rs.



Profil

icon Re: eregi funkcija i polje za unos30.12.2010. u 13:26 - pre 161 meseci
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()
 
Odgovor na temu

ka-ching

Član broj: 276067
Poruke: 4
*.dynamic.isp.telekom.rs.



Profil

icon Re: eregi funkcija i polje za unos30.12.2010. u 14:07 - pre 161 meseci
@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.
 
Odgovor na temu

beep
Srbija/Vrbas

Član broj: 19294
Poruke: 198
*.dynamic.sbb.rs.

Sajt: keselj.xyz


+1 Profil

icon Re: eregi funkcija i polje za unos30.12.2010. u 20:12 - pre 161 meseci
Ako stavis * ili + onda ne mozes da definises mininalan unos.
 
Odgovor na temu

ka-ching

Član broj: 276067
Poruke: 4
*.dynamic.isp.telekom.rs.



Profil

icon Re: eregi funkcija i polje za unos30.12.2010. u 22:56 - pre 161 meseci
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+(".
 
Odgovor na temu

[es] :: PHP :: eregi funkcija i polje za unos

[ Pregleda: 2629 | Odgovora: 7 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.