2016-05-12 10 views
2

Iam mit https://github.com/davideme/libphonenumber-for-PHP für internationales Telefon zur Validierung nicht validation.It funktioniert gut, aber nach der guidence in dieser Github Seite ilibphonenumber-for-PHP versagt Telefonnummer

"$ swissNumberStr =" 044 668 gegeben habe 18 00 ";" und $ phoneUtil-> parse ($ swissNumberStr, "CH");

als Eingänge ... und wenn wir fordern

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

es true..because seine gültigen one.But für mich zurückgeben sollte es würde false..any Hilfe wird immer sehr geschätzt ..

demo.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; 
+0

könnte helfen, Ihren echten Code zu sehen ... – cyberwombat

+0

entfernen das Präfix 0 – fayyazkl

+0

@fayyazkl it..remains same..other Linien geben genaue output.but Validierung Linie zeigt nur falsche .. –

Antwort

0

Sie benutzen die falsche Funktion zum Parsen.

Verwenden

phUtil.Parse(germanNumberStr, "CH")

statt parseAndKeepRawInput