webarto
15. 01. 2011., 22:46
Daleko od bulletproof ali valjda može da posluži... Meni dojadilo kad vidim kako unose brojeve telefona iako format piše boldiran slovima.
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;
}
}
fontele("00386 - 61 / 058-50505");
fontele("0381-61/0580505");
fontele("38661058505");
fontele("+38111058505");
fontele("0038761058505");
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
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;
}
}
fontele("00386 - 61 / 058-50505");
fontele("0381-61/0580505");
fontele("38661058505");
fontele("+38111058505");
fontele("0038761058505");
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