當前位置: 首頁>>代碼示例>>PHP>>正文


PHP PhoneNumberUtil::maybeExtractCountryCode方法代碼示例

本文整理匯總了PHP中libphonenumber\PhoneNumberUtil::maybeExtractCountryCode方法的典型用法代碼示例。如果您正苦於以下問題:PHP PhoneNumberUtil::maybeExtractCountryCode方法的具體用法?PHP PhoneNumberUtil::maybeExtractCountryCode怎麽用?PHP PhoneNumberUtil::maybeExtractCountryCode使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在libphonenumber\PhoneNumberUtil的用法示例。


在下文中一共展示了PhoneNumberUtil::maybeExtractCountryCode方法的1個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。

示例1: testMaybeExtractCountryCode

 public function testMaybeExtractCountryCode()
 {
     $number = new PhoneNumber();
     $metadata = $this->phoneUtil->getMetadataForRegion(RegionCode::US);
     // Note that for the US, the IDD is 011.
     try {
         $phoneNumber = "011112-3456789";
         $strippedNumber = "123456789";
         $countryCallingCode = 1;
         $numberToFill = "";
         $this->assertEquals($countryCallingCode, $this->phoneUtil->maybeExtractCountryCode($phoneNumber, $metadata, $numberToFill, true, $number), "Did not extract country calling code " . $countryCallingCode . " correctly.");
         $this->assertEquals(CountryCodeSource::FROM_NUMBER_WITH_IDD, $number->getCountryCodeSource(), "Did not figure out CountryCodeSource correctly");
         // Should strip and normalize national significant number.
         $this->assertEquals($strippedNumber, $numberToFill, "Did not strip off the country calling code correctly.");
     } catch (NumberParseException $e) {
         $this->fail("Should not have thrown an exception: " . $e->getMessage());
     }
     $number->clear();
     try {
         $phoneNumber = "+6423456789";
         $countryCallingCode = 64;
         $numberToFill = "";
         $this->assertEquals($countryCallingCode, $this->phoneUtil->maybeExtractCountryCode($phoneNumber, $metadata, $numberToFill, true, $number), "Did not extract country calling code " . $countryCallingCode . " correctly.");
         $this->assertEquals(CountryCodeSource::FROM_NUMBER_WITH_PLUS_SIGN, $number->getCountryCodeSource(), "Did not figure out CountryCodeSource correctly");
     } catch (NumberParseException $e) {
         $this->fail("Should not have thrown an exception: " . $e->getMessage());
     }
     $number->clear();
     try {
         $phoneNumber = "+80012345678";
         $countryCallingCode = 800;
         $numberToFill = "";
         $this->assertEquals($countryCallingCode, $this->phoneUtil->maybeExtractCountryCode($phoneNumber, $metadata, $numberToFill, true, $number), "Did not extract country calling code " . $countryCallingCode . " correctly.");
         $this->assertEquals(CountryCodeSource::FROM_NUMBER_WITH_PLUS_SIGN, $number->getCountryCodeSource(), "Did not figure out CountryCodeSource correctly");
     } catch (NumberParseException $e) {
         $this->fail("Should not have thrown an exception: " . $e->getMessage());
     }
     $number->clear();
     try {
         $phoneNumber = "2345-6789";
         $numberToFill = "";
         $this->assertEquals(0, $this->phoneUtil->maybeExtractCountryCode($phoneNumber, $metadata, $numberToFill, true, $number), "Should not have extracted a country calling code - no international prefix present.");
         $this->assertEquals(CountryCodeSource::FROM_DEFAULT_COUNTRY, $number->getCountryCodeSource(), "Did not figure out CountryCodeSource correctly");
     } catch (NumberParseException $e) {
         $this->fail("Should not have thrown an exception: " . $e->getMessage());
     }
     $number->clear();
     try {
         $phoneNumber = "0119991123456789";
         $numberToFill = "";
         $this->phoneUtil->maybeExtractCountryCode($phoneNumber, $metadata, $numberToFill, true, $number);
         $this->fail("Should have thrown an exception, no valid country calling code present.");
     } catch (NumberParseException $e) {
         // Expected.
         $this->assertEquals(NumberParseException::INVALID_COUNTRY_CODE, $e->getErrorType(), "Wrong error type stored in exception.");
     }
     $number->clear();
     try {
         $phoneNumber = "(1 610) 619 4466";
         $countryCallingCode = 1;
         $numberToFill = "";
         $this->assertEquals($countryCallingCode, $this->phoneUtil->maybeExtractCountryCode($phoneNumber, $metadata, $numberToFill, true, $number), "Should have extracted the country calling code of the region passed in");
         $this->assertEquals(CountryCodeSource::FROM_NUMBER_WITHOUT_PLUS_SIGN, $number->getCountryCodeSource(), "Did not figure out CountryCodeSource correctly");
     } catch (NumberParseException $e) {
         $this->fail("Should not have thrown an exception: " . $e->getMessage());
     }
     $number->clear();
     try {
         $phoneNumber = "(1 610) 619 4466";
         $countryCallingCode = 1;
         $numberToFill = "";
         $this->assertEquals($countryCallingCode, $this->phoneUtil->maybeExtractCountryCode($phoneNumber, $metadata, $numberToFill, false, $number), "Should have extracted the country calling code of the region passed in");
         $this->assertFalse($number->hasCountryCodeSource(), "Should not contain CountryCodeSource");
     } catch (NumberParseException $e) {
         $this->fail("Should not have thrown an exception: " . $e->getMessage());
     }
     $number->clear();
     try {
         $phoneNumber = "(1 610) 619 446";
         $numberToFill = "";
         $this->assertEquals(0, $this->phoneUtil->maybeExtractCountryCode($phoneNumber, $metadata, $numberToFill, false, $number), "Should not have extracted a country calling code - invalid number after extraction of uncertain country calling code.");
         $this->assertFalse($number->hasCountryCodeSource(), "Should not contain CountryCodeSource");
     } catch (NumberParseException $e) {
         $this->fail("Should not have thrown an exception: " . $e->getMessage());
     }
     $number->clear();
     try {
         $phoneNumber = "(1 610) 619";
         $numberToFill = "";
         $this->assertEquals(0, $this->phoneUtil->maybeExtractCountryCode($phoneNumber, $metadata, $numberToFill, true, $number), "Should not have extracted a country calling code - too short number both before and after extraction of uncertain country calling code.");
         $this->assertEquals(CountryCodeSource::FROM_DEFAULT_COUNTRY, $number->getCountryCodeSource(), "Did not figure out CountryCodeSource correctly");
     } catch (NumberParseException $e) {
         $this->fail("Should not have thrown an exception: " . $e->getMessage());
     }
 }
開發者ID:wasabiNorman,項目名稱:libphonenumber-for-php,代碼行數:95,代碼來源:PhoneNumberUtilTest.php


注:本文中的libphonenumber\PhoneNumberUtil::maybeExtractCountryCode方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。