You are here

function au_validate_number in Phone Number 6

Same name and namespace in other branches
  1. 7 includes/phone.au.inc \au_validate_number()

Verifies that $number is a valid Australian phone number.

File

includes/phone.au.inc, line 128
CCK Field for Australia phone numbers.

Code

function au_validate_number($number, $ext = '', &$error) {

  // Don't need to check for extension because it has been checked by generic validation as all digits, unless has special format/requirements
  // We don't want to worry about separators
  $number = cck_phone_clean_number($number);
  if (empty($number)) {
    return TRUE;
  }
  list($valid_patterns, $invalid_patterns, $format_search_patterns, $format_replace_patterns, $format_replace_patterns_international) = _cck_phone_au_number_patterns();
  $invalid_number = preg_replace($invalid_patterns, '', $number);
  $correct_number = preg_replace($valid_patterns, '', $number);
  if (empty($invalid_number)) {
    $error = 'The phone number you have entered is classified as unusable by the Australian telecommunications authority.';
    return FALSE;
  }
  elseif (!empty($correct_number)) {
    $error = 'You have not entered a valid australian phone number. Please enter a 10 digit phone number including the area code, but not including the 61 international prefix. Valid 1800, 1300, and 13 numbers are accepted, as are satilite and AMPS numbers.';
    return FALSE;
  }
  return TRUE;
}