本文整理匯總了PHP中libphonenumber\PhoneNumberUtil::maybeStripNationalPrefixAndCarrierCode方法的典型用法代碼示例。如果您正苦於以下問題:PHP PhoneNumberUtil::maybeStripNationalPrefixAndCarrierCode方法的具體用法?PHP PhoneNumberUtil::maybeStripNationalPrefixAndCarrierCode怎麽用?PHP PhoneNumberUtil::maybeStripNationalPrefixAndCarrierCode使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類libphonenumber\PhoneNumberUtil
的用法示例。
在下文中一共展示了PhoneNumberUtil::maybeStripNationalPrefixAndCarrierCode方法的1個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。
示例1: testMaybeStripNationalPrefix
public function testMaybeStripNationalPrefix()
{
$metadata = new PhoneMetadata();
$metadata->setNationalPrefixForParsing("34");
$phoneNumberDesc = new PhoneNumberDesc();
$phoneNumberDesc->setNationalNumberPattern("\\d{4,8}");
$metadata->setGeneralDesc($phoneNumberDesc);
$numberToStrip = "34356778";
$strippedNumber = "356778";
$carrierCode = null;
$this->assertTrue($this->phoneUtil->maybeStripNationalPrefixAndCarrierCode($numberToStrip, $metadata, $carrierCode));
$this->assertEquals($strippedNumber, $numberToStrip, "Should have had national prefix stripped.");
// Retry stripping - now the number should not start with the national prefix, so no more
// stripping should occur.
$carrierCode = null;
$this->assertFalse($this->phoneUtil->maybeStripNationalPrefixAndCarrierCode($numberToStrip, $metadata, $carrierCode));
$this->assertEquals($strippedNumber, $numberToStrip, "Should have had no change - no national prefix present.");
// Some countries have no national prefix. Repeat test with none specified.
$metadata->setNationalPrefixForParsing("");
$carrierCode = null;
$this->assertFalse($this->phoneUtil->maybeStripNationalPrefixAndCarrierCode($numberToStrip, $metadata, $carrierCode));
$this->assertEquals($strippedNumber, $numberToStrip, "Should not strip anything with empty national prefix.");
// If the resultant number doesn't match the national rule, it shouldn't be stripped.
$metadata->setNationalPrefixForParsing("3");
$numberToStrip = "3123";
$strippedNumber = "3123";
$carrierCode = null;
$this->assertFalse($this->phoneUtil->maybeStripNationalPrefixAndCarrierCode($numberToStrip, $metadata, $carrierCode));
$this->assertEquals($strippedNumber, $numberToStrip, "Should have had no change - after stripping, it wouldn't have matched the national rule.");
// Test extracting carrier selection code.
$metadata->setNationalPrefixForParsing("0(81)?");
$numberToStrip = "08122123456";
$strippedNumber = "22123456";
$carrierCode = "";
$this->assertTrue($this->phoneUtil->maybeStripNationalPrefixAndCarrierCode($numberToStrip, $metadata, $carrierCode));
$this->assertEquals("81", $carrierCode);
$this->assertEquals($strippedNumber, $numberToStrip, "Should have had national prefix and carrier code stripped.");
// If there was a transform rule, check it was applied.
$metadata->setNationalPrefixTransformRule("5\${1}5");
// Note that a capturing group is present here.
$metadata->setNationalPrefixForParsing("0(\\d{2})");
$numberToStrip = "031123";
$transformedNumber = "5315123";
$carrierCode = null;
$this->assertTrue($this->phoneUtil->maybeStripNationalPrefixAndCarrierCode($numberToStrip, $metadata, $carrierCode));
$this->assertEquals($transformedNumber, $numberToStrip, "Should transform the 031 to a 5315.");
}