c'est la premùiere fois que je poste dans cette rubrique, je programme pas tres souvent en PHP, mais ca m'arrive
Voila j'ai ecris un script qui fonctionne, mais je le trouve pas tres optimisé, alors je me demande s'il y a pas une meilleurs methode.
Le but du script est de verifier qu'un numero de Tel (tapé par un utilisateur dans un formulaire) appartient bien a une plage de n° de Tel (plusieurs plages de n° en fait)
Voila mon script :
CODE
function numerotel($tel)
{
// Vérifie que le numero de telephone est bien dans la plage spécifiée
$parti1 = substr($tel,0,3);
if ($parti1<>"027" AND $parti1<>"046") {
//echo $parti;
return false;
}
$parti = substr($tel,0,5);
if ($parti=="02772") {
$tabl = range (1000,6999);
if (in_array(substr($tel,5), $tabl)) {
return true;
}
}
if ($parti=="02777") {
$tabl = range (0000,9999);
if (in_array(substr($tel,5), $tabl)) {
return true;
}
}
if ($parti=="02773") {
$tabl = range (0000,5999);
if (in_array(substr($tel,5), $tabl)) {
return true;
}
}
if ($parti=="02776") {
$tabl = range (6000,9999);
if (in_array(substr($tel,5), $tabl)) {
return true;
}
}
if ($parti=="04642") {
$tabl = range (1000,4299);
if (in_array(substr($tel,5), $tabl)) {
return true;
}
}
if ($parti=="04645") {
$tabl = range (1000,3939);
if (in_array(substr($tel,5), $tabl)) {
return true;
}
}
if ($parti=="04645") {
$tabl = range (9100,9599);
if (in_array(substr($tel,5), $tabl)) {
return true;
}
}
if ($parti=="04641") {
$tabl = range (1000,8999);
if (in_array(substr($tel,5), $tabl)) {
return true;
}
}
return false;
}
{
// Vérifie que le numero de telephone est bien dans la plage spécifiée
$parti1 = substr($tel,0,3);
if ($parti1<>"027" AND $parti1<>"046") {
//echo $parti;
return false;
}
$parti = substr($tel,0,5);
if ($parti=="02772") {
$tabl = range (1000,6999);
if (in_array(substr($tel,5), $tabl)) {
return true;
}
}
if ($parti=="02777") {
$tabl = range (0000,9999);
if (in_array(substr($tel,5), $tabl)) {
return true;
}
}
if ($parti=="02773") {
$tabl = range (0000,5999);
if (in_array(substr($tel,5), $tabl)) {
return true;
}
}
if ($parti=="02776") {
$tabl = range (6000,9999);
if (in_array(substr($tel,5), $tabl)) {
return true;
}
}
if ($parti=="04642") {
$tabl = range (1000,4299);
if (in_array(substr($tel,5), $tabl)) {
return true;
}
}
if ($parti=="04645") {
$tabl = range (1000,3939);
if (in_array(substr($tel,5), $tabl)) {
return true;
}
}
if ($parti=="04645") {
$tabl = range (9100,9599);
if (in_array(substr($tel,5), $tabl)) {
return true;
}
}
if ($parti=="04641") {
$tabl = range (1000,8999);
if (in_array(substr($tel,5), $tabl)) {
return true;
}
}
return false;
}
J'explique mon code : tout les numeros commancent par "027" ou "046" , d'ou le premier test, le reste des tests verifient le reste du numero,
Exemple de 2 plages : 027721000 à 027726999
027766000 à 027769999
Voila j'espere que j'ai bien expliqué, et Merci d'avance B)