getLengthOfNationalDestinationCode() public method

$phoneUtil = PhoneNumberUtil::getInstance(); $number = $phoneUtil->parse("18002530000", "US"); $nationalSignificantNumber = $phoneUtil->getNationalSignificantNumber($number); $nationalDestinationCodeLength = $phoneUtil->getLengthOfNationalDestinationCode($number); if ($nationalDestinationCodeLength > 0) { $nationalDestinationCode = substr($nationalSignificantNumber, 0, $nationalDestinationCodeLength); $subscriberNumber = substr($nationalSignificantNumber, $nationalDestinationCodeLength); } else { $nationalDestinationCode = ""; $subscriberNumber = $nationalSignificantNumber; } Refer to the unit tests to see the difference between this function and {@link #getLengthOfGeographicalAreaCode}.
public getLengthOfNationalDestinationCode ( PhoneNumber $number ) : integer
$number PhoneNumber the PhoneNumber object for which clients want to know the length of the NDC.
return integer the length of NDC of the PhoneNumber object passed in.
コード例 #1
0
 public function testGetLengthOfNationalDestinationCode()
 {
     // Google MTV, which has national destination code (NDC) "650".
     $this->assertEquals(3, $this->phoneUtil->getLengthOfNationalDestinationCode(self::$usNumber));
     // A North America toll-free number, which has NDC "800".
     $this->assertEquals(3, $this->phoneUtil->getLengthOfNationalDestinationCode(self::$usTollFree));
     // Google London, which has NDC "20".
     $this->assertEquals(2, $this->phoneUtil->getLengthOfNationalDestinationCode(self::$gbNumber));
     // A UK mobile phone, which has NDC "7912".
     $this->assertEquals(4, $this->phoneUtil->getLengthOfNationalDestinationCode(self::$gbMobile));
     // Google Buenos Aires, which has NDC "11".
     $this->assertEquals(2, $this->phoneUtil->getLengthOfNationalDestinationCode(self::$arNumber));
     // An Argentinian mobile which has NDC "911".
     $this->assertEquals(3, $this->phoneUtil->getLengthOfNationalDestinationCode(self::$arMobile));
     // Google Sydney, which has NDC "2".
     $this->assertEquals(1, $this->phoneUtil->getLengthOfNationalDestinationCode(self::$auNumber));
     // Google Singapore, which has NDC "6521".
     $this->assertEquals(4, $this->phoneUtil->getLengthOfNationalDestinationCode(self::$sgNumber));
     // An invalid US number (1 digit shorter), which has no NDC.
     $this->assertEquals(0, $this->phoneUtil->getLengthOfNationalDestinationCode(self::$usShortByOneNumber));
     // A number containing an invalid country calling code, which shouldn't have any NDC.
     $number = new PhoneNumber();
     $number->setCountryCode(123)->setNationalNumber(6502530000);
     $this->assertEquals(0, $this->phoneUtil->getLengthOfNationalDestinationCode($number));
     // An international toll free number, which has NDC "1234".
     $this->assertEquals(4, $this->phoneUtil->getLengthOfNationalDestinationCode(self::$internationalTollFree));
 }