You are here

function valid_il_phone_number in Phone 7

Same name and namespace in other branches
  1. 6 phone.il.inc \valid_il_phone_number()

Verification for Israel Phone Numbers.

Parameters

string $phonenumber:

Return value

boolean Returns boolean FALSE if the phone number is not valid.

File

include/phone.il.inc, line 21
CCK Field for Isreali phone numbers.

Code

function valid_il_phone_number($phonenumber) {

  //$phonenumber = trim($phonenumber);

  // strip formatting chars
  $phonenumber = preg_replace('/[\\-() ]/', '', $phonenumber);

  // strip optional '+972' or '0' prefixes
  $phonenumber = preg_replace('/^(\\+972)/', '', $phonenumber);

  //$rules[] = array("Prefix","Minimum length","Maximum length");

  //http://he.wikipedia.org/wiki/%D7%A7%D7%99%D7%93%D7%95%D7%9E%D7%AA_%D7%98%D7%9C%D7%A4%D7%95%D7%9F
  $rules[] = array(
    "02",
    7,
    10,
  );
  $rules[] = array(
    "03",
    7,
    10,
  );
  $rules[] = array(
    "04",
    7,
    10,
  );
  $rules[] = array(
    "08",
    7,
    10,
  );
  $rules[] = array(
    "09",
    7,
    10,
  );
  $rules[] = array(
    "072",
    7,
    10,
  );
  $rules[] = array(
    "073",
    7,
    10,
  );
  $rules[] = array(
    "074",
    7,
    10,
  );
  $rules[] = array(
    "076",
    7,
    10,
  );
  $rules[] = array(
    "077",
    7,
    10,
  );
  $rules[] = array(
    "078",
    7,
    10,
  );
  $rules[] = array(
    "050",
    7,
    10,
  );
  $rules[] = array(
    "052",
    7,
    10,
  );
  $rules[] = array(
    "054",
    7,
    10,
  );
  $rules[] = array(
    "057",
    7,
    10,
  );
  $rules[] = array(
    "1800",
    6,
    10,
  );
  $rules[] = array(
    "1801",
    6,
    10,
  );
  $rules[] = array(
    "1700",
    6,
    10,
  );
  foreach ($rules as $rule) {
    if (preg_match('/^' . $rule[0] . '/', $phonenumber) && strlen($phonenumber) >= $rule[1] && strlen($phonenumber) <= $rule[2]) {
      return TRUE;
    }
  }
  return FALSE;
}