private function __construct(PhoneNumberUtil $phoneNumberUtil = null) { if ($phoneNumberUtil === null) { $this->phoneUtil = PhoneNumberUtil::getInstance(); } else { $this->phoneUtil = $phoneNumberUtil; } $this->currentFilePrefix = dirname(__FILE__) . '/data/' . self::META_DATA_FILE_PREFIX; }
private function __construct(MatcherAPIInterface $matcherAPI) { $this->matcherAPI = $matcherAPI; // TODO: Create ShortNumberInfo for a given map $this->countryCallingCodeToRegionCodeMap = CountryCodeToRegionCodeMap::$countryCodeToRegionCodeMap; $this->currentFilePrefix = dirname(__FILE__) . '/data/' . self::META_DATA_FILE_PREFIX; // Initialise PhoneNumberUtil to make sure regex's are setup correctly PhoneNumberUtil::getInstance(); }
/** * * @param string $phoneNumber * @param string $regionCode */ public function __construct($phoneNumber = '', $regionCode = 'US') { $this->_phoneUtil = PhoneNumberUtil::getInstance(); $this->setRegionCode($regionCode); if (!empty($phoneNumber)) { $this->setPhoneNumber($phoneNumber); } else { $this->_numberProto = null; } }
private static function initializePhoneUtilForTesting() { self::$bsNumber = new PhoneNumber(); self::$bsNumber->setCountryCode(1)->setNationalNumber(2423651234); self::$bsMobile = new PhoneNumber(); self::$bsMobile->setCountryCode(1)->setNationalNumber(2423570000); self::$internationalTollFree = new PhoneNumber(); self::$internationalTollFree->setCountryCode(800)->setNationalNumber(12345678); self::$sgNumber = new PhoneNumber(); self::$sgNumber->setCountryCode(65)->setNationalNumber(65218000); // A too-long and hence invalid US number. self::$usLongNumber = new PhoneNumber(); self::$usLongNumber->setCountryCode(1)->setNationalNumber(65025300001); self::$usShortByOneNumber = new PhoneNumber(); self::$usShortByOneNumber->setCountryCode(1)->setNationalNumber(650253000); self::$usTollFree = new PhoneNumber(); self::$usTollFree->setCountryCode(1)->setNationalNumber(8002530000); self::$usNumber = new PhoneNumber(); self::$usNumber->setCountryCode(1)->setNationalNumber(6502530000); self::$usLocalNumber = new PhoneNumber(); self::$usLocalNumber->setCountryCode(1)->setNationalNumber(2530000); self::$nzNumber = new PhoneNumber(); self::$nzNumber->setCountryCode(64)->setNationalNumber(33316005); self::$usPremium = new PhoneNumber(); self::$usPremium->setCountryCode(1)->setNationalNumber(9002530000); self::$usSpoof = new PhoneNumber(); self::$usSpoof->setCountryCode(1)->setNationalNumber(0); self::$usSpoofWithRawInput = new PhoneNumber(); self::$usSpoofWithRawInput->setCountryCode(1)->setNationalNumber(0)->setRawInput("000-000-0000"); self::$gbMobile = new PhoneNumber(); self::$gbMobile->setCountryCode(44)->setNationalNumber(7912345678); self::$gbNumber = new PhoneNumber(); self::$gbNumber->setCountryCode(44)->setNationalNumber(2070313000); self::$deShortNumber = new PhoneNumber(); self::$deShortNumber->setCountryCode(49)->setNationalNumber(1234); self::$itMobile = new PhoneNumber(); self::$itMobile->setCountryCode(39)->setNationalNumber(345678901); self::$itNumber = new PhoneNumber(); self::$itNumber->setCountryCode(39)->setNationalNumber(236618300)->setItalianLeadingZero(true); self::$auNumber = new PhoneNumber(); self::$auNumber->setCountryCode(61)->setNationalNumber(236618300); self::$arMobile = new PhoneNumber(); self::$arMobile->setCountryCode(54)->setNationalNumber(91187654321); self::$arNumber = new PhoneNumber(); self::$arNumber->setCountryCode(54)->setNationalNumber(1187654321); self::$mxMobile1 = new PhoneNumber(); self::$mxMobile1->setCountryCode(52)->setNationalNumber(12345678900); self::$mxNumber1 = new PhoneNumber(); self::$mxNumber1->setCountryCode(52)->setNationalNumber(3312345678); self::$mxMobile2 = new PhoneNumber(); self::$mxMobile2->setCountryCode(52)->setNationalNumber(15512345678); self::$mxNumber2 = new PhoneNumber(); self::$mxNumber2->setCountryCode(52)->setNationalNumber(8211234567); // Note that this is the same as the example number for DE in the metadata. self::$deNumber = new PhoneNumber(); self::$deNumber->setCountryCode(49)->setNationalNumber(30123456); self::$jpStarNumber = new PhoneNumber(); self::$jpStarNumber->setCountryCode(81)->setNationalNumber(2345); PhoneNumberUtil::resetInstance(); return PhoneNumberUtil::getInstance(self::TEST_META_DATA_FILE_PREFIX, CountryCodeToRegionCodeMapForTesting::$countryCodeToRegionCodeMap); }
<?php namespace libphonenumber; require_once dirname(__FILE__) . '/PhoneNumberUtil.php'; require_once dirname(__FILE__) . '/CountryCodeToRegionCodeMap.php'; require_once dirname(__FILE__) . '/PhoneNumber.php'; require_once dirname(__FILE__) . '/PhoneMetadata.php'; require_once dirname(__FILE__) . '/PhoneNumberDesc.php'; require_once dirname(__FILE__) . '/NumberFormat.php'; require_once dirname(__FILE__) . '/Matcher.php'; require_once dirname(__FILE__) . '/CountryCodeSource.php'; require_once dirname(__FILE__) . '/PhoneNumberType.php'; require_once dirname(__FILE__) . '/PhoneNumberFormat.php'; $swissNumberStr = "044 668 18 00"; $phoneUtil = PhoneNumberUtil::getInstance(); try { $swissNumberProto = $phoneUtil->parse($swissNumberStr, "CH"); var_dump($swissNumberProto); } catch (NumberParseException $e) { echo $e; } $isValid = $phoneUtil->isValidNumber($swissNumberProto); //return true var_dump($isValid); // Produces "+41446681800" echo $phoneUtil->format($swissNumberProto, PhoneNumberFormat::E164) . PHP_EOL;