Daleko od bulletproof ali valjda može da posluži... Meni dojadilo kad vidim kako unose brojeve telefona iako format piše boldiran slovima.
PHP kôd:
function fontele($broj){
$broj = preg_replace("#[^0-9]#", "", $broj);
if(substr($broj, 0, 2) == "00") $broj = substr_replace($broj, "", 0, 2);
$duzina["drzava"] = 3;
$duzina["regija"] = 2;
$duzina["broj"] = array(6,7);
$vrijednosti["drzava"] = array("381", "385", "387");
$vrijednosti["regija"] = array();
$vrijednosti["broj"] = array();
$telefon["drzava"] = substr($broj, 0, $duzina["drzava"]);
$telefon["regija"] = substr($broj, $duzina["drzava"], $duzina["regija"]);
$telefon["broj"] = substr($broj, 5, strlen($broj) - ($duzina["drzava"] + $duzina["regija"]));
if(!empty($vrijednosti["drzava"])){
if(!in_array($telefon["drzava"], $vrijednosti["drzava"])) $greska .= "Pozivni broj za državu nije dozvoljen. ";
}
if(!empty($vrijednosti["regija"])){
if(!in_array($telefon["regija"], $vrijednosti["regija"])) $greska .= "Pozivni broj za regiju nije dozvoljen. ";
}
if(!empty($vrijednosti["broj"])){
if(!in_array($telefon["broj"], $vrijednosti["broj"])) $greska .= "Broj telefona nije dozvoljen. ";
}
if(!in_array(strlen($telefon["broj"]), $duzina["broj"])) $greska .= "Broj telefona ne odgovara formatu. ";
$greska = trim($greska);
if(empty($greska)){
echo $telefon["drzava"].$telefon["regija"].$telefon["broj"];
}else{
echo $greska;
}
}
Citat:
fontele("00386 - 61 / 058-50505");
fontele("0381-61/0580505");
fontele("38661058505");
fontele("+38111058505");
fontele("0038761058505");
|
Citat:
Pozivni broj za državu nije dozvoljen. Broj telefona ne odgovara formatu.
Pozivni broj za državu nije dozvoljen. Broj telefona ne odgovara formatu.
Pozivni broj za državu nije dozvoljen.
38111058505
38761058505
|