2

国際電話の検証なしにhttps://github.com/davideme/libphonenumber-for-PHPを使用しています。正常に動作していますが、その github ページのガイドに従っています

"$swissNumberStr = "044 668 18 00";" および$phoneUtil->parse($swissNumberStr, "CH") ;

入力として...そして呼び出しているとき

$isValid = $phoneUtil->isValidNumber($swissNumberProto);

それはtrueを返すはずです..それは有効なものだからです.しかし、私にとってはfalseになっています..どんな助けも大歓迎です..

デモ.php

use com\google\i18n\phonenumbers\PhoneNumberUtil;
use com\google\i18n\phonenumbers\PhoneNumberFormat;
use com\google\i18n\phonenumbers\NumberParseException;

require_once 'PhoneNumberUtil.php';

$swissNumberStr = "044 668 18 00";
$phoneUtil = PhoneNumberUtil::getInstance();
try {
    $swissNumberProto = $phoneUtil->parseAndKeepRawInput($swissNumberStr, "CH");
    echo $phoneUtil->getNumberType($swissNumberProto);
    //var_dump($swissNumberProto);
} catch (NumberParseException $e) {
    echo $e;
}
$isValid = $phoneUtil->isValidNumber($swissNumberProto);//return true
var_dump($isValid);
// Produces "+41446681800"
echo $phoneUtil->format($swissNumberProto, PhoneNumberFormat::INTERNATIONAL) . PHP_EOL;
echo $phoneUtil->format($swissNumberProto, PhoneNumberFormat::NATIONAL) . PHP_EOL;
echo $phoneUtil->format($swissNumberProto, PhoneNumberFormat::E164) . PHP_EOL;

echo $phoneUtil->formatOutOfCountryCallingNumber($swissNumberProto, "US") . PHP_EOL;
4

1 に答える 1

0

解析に間違った関数を使用しています。

使用する

phUtil.Parse(germanNumberStr, "CH")

parseAndKeepRawInput の代わりに

于 2016-05-13T17:54:08.807 に答える