Skip to content

Instantly share code, notes, and snippets.

@TMcManus
Created March 28, 2013 21:52
Show Gist options
  • Save TMcManus/5267142 to your computer and use it in GitHub Desktop.
Save TMcManus/5267142 to your computer and use it in GitHub Desktop.
Example of a PHP function for normalizing locally formatted phone number formats to E.164 using thePHP port of Google's libphonenumber project: https://github.com/davideme/libphonenumber-for-PHP
<?php
use com\google\i18n\phonenumbers\PhoneNumberUtil;
use com\google\i18n\phonenumbers\PhoneNumberFormat;
use com\google\i18n\phonenumbers\NumberParseException;
require_once 'libphonenumber-for-PHP/PhoneNumberUtil.php';
function sanitize_number ($phone_number, $iso_code) {
$pn = PhoneNumberUtil::getInstance();
try {
$parsed_number = $pn->parseAndKeepRawInput($phone_number, $iso_code);
} catch (NumberParseException $e) {
return $e->getMessage();
}
$is_valid = $pn->isValidNumber($parsed_number);
if ($is_valid == true){
return $pn->format($parsed_number, PhoneNumberFormat::E164) . PHP_EOL;
} else {
return "Phone number is not valid.";
}
}
$raw_phone_number = "080 1234 5678";
$iso_code = "JP";
echo sanitize_number($raw_phone_number, $iso_code);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment