[ ETM @ 15.05.2017. 20:22 ] @
Postovani,

Kako biste napisali funkciju koja vrši validaciju poštanskog broja, 5 cifara, prva cifra ne sme biti 0?

Pozdrav!
[ dakipro @ 15.05.2017. 20:36 ] @
ako ne smislis nista bolje, za pocetak mozes da stavis $input > 9999 && <100000
[ ETM @ 15.05.2017. 21:14 ] @
Postovani,

Zahvaljujem se na odgovoru.
[ plus_minus @ 15.05.2017. 23:03 ] @
Malo bzvz što za ovakve proste stvari tražiš pomoć od drugih, jer upravo ovakvi lagani zadaci jesu idealni kako bi početnici probili led, ali ako je vać tako kako je ...

Pored verovatno najbolje html <input type="range"> ili <input type="number"> (i min/max dodatnih atributa) varijante,
još jedna od milion varijanti .. uz pomoć str_split funkcije ..

Code (php):


// Korisnik je pritisnuo dugme za submit ..

$postal = trim($_POST['postal_code']);

$split = str_split($postal);

if (count($split) !== 5) $error = 'Poštanski broj mora imati "5" cifara.';
elseif (((int) $split[0]) === 0) $error = 'Prvi broj poštanskog koda ne može biti "0"';
else $error = false;

if (is_bool($error) && !$error) {

  // Ok. Nastavi dalje procesiranje ...

} else {

  // Not ok.  
  echo $error;

}

 
[ Predrag Supurovic @ 16.05.2017. 05:22 ] @
Uzmeš listu svih poštanskih brojeva i validiraš unos prema njoj, jer nema smisla ni da korisnik unese bilo koji broj koji stvarno i nije poštanski broj.

Ako baš insisitraš na toj numeričkoj validaciji, pretvopri unos u integer i time će vodeće nula automatski biti igubljene,a onda proveriu da li je integer u opsegu 99999 > i > 9999.
[ eki_yu @ 16.05.2017. 07:15 ] @
http://stackoverflow.com/quest...-a-number-consists-of-5-digits

This regex will make sure the number does not start with zeros:

if(preg_match('/^[1-9]\d{4}$/', $number))
echo "Number is 5 digits\n";
else
echo "Number is not five digits\n";
[ ETM @ 16.05.2017. 22:12 ] @
Zahvaljujem se na pomoci...