/**
  * Returns whether the given national number (a string containing only decimal digits) matches
  * the national number pattern defined in the given {@code PhoneNumberDesc} message.
  *
  * @param string $nationalNumber
  * @param PhoneNumberDesc $numberDesc
  * @param boolean $allowPrefixMatch
  * @return boolean
  */
 public function matchesNationalNumber($nationalNumber, PhoneNumberDesc $numberDesc, $allowPrefixMatch)
 {
     $nationalNumberPatternMatcher = new Matcher($numberDesc->getNationalNumberPattern(), $nationalNumber);
     return $nationalNumberPatternMatcher->matches() || $allowPrefixMatch && $nationalNumberPatternMatcher->lookingAt();
 }
 /**
  * @param string $nationalNumber
  * @param PhoneNumberDesc $numberDesc
  * @return bool
  */
 public function isNumberMatchingDesc($nationalNumber, PhoneNumberDesc $numberDesc)
 {
     $nationalNumberPatternMatcher = new Matcher($numberDesc->getNationalNumberPattern(), $nationalNumber);
     return $this->isNumberPossibleForDesc($nationalNumber, $numberDesc) && $nationalNumberPatternMatcher->matches();
 }
示例#3
0
 /**
  * @param PhoneNumberDesc $other
  * @return PhoneNumberDesc
  */
 public function mergeFrom(PhoneNumberDesc $other)
 {
     if ($other->hasNationalNumberPattern()) {
         $this->setNationalNumberPattern($other->getNationalNumberPattern());
     }
     if ($other->hasPossibleNumberPattern()) {
         $this->setPossibleNumberPattern($other->getPossibleNumberPattern());
     }
     if ($other->hasExampleNumber()) {
         $this->setExampleNumber($other->getExampleNumber());
     }
     return $this;
 }
 private function isNumberMatchingDesc($nationalNumber, PhoneNumberDesc $numberDesc)
 {
     $possibleNumberPatternMatcher = preg_match('/^(' . $numberDesc->getPossibleNumberPattern() . ')$/x', $nationalNumber);
     $nationalNumberPatternMatcher = preg_match('/^' . $numberDesc->getNationalNumberPattern() . '$/x', $nationalNumber);
     return $possibleNumberPatternMatcher && $nationalNumberPatternMatcher;
 }
 private function isNumberMatchingDesc($nationalNumber, PhoneNumberDesc $numberDesc)
 {
     $possibleNumberPatternMatcher = preg_match('/^(' . str_replace(array(PHP_EOL, ' '), '', $numberDesc->getPossibleNumberPattern()) . ')$/', $nationalNumber);
     $nationalNumberPatternMatcher = preg_match('/^(' . str_replace(array(PHP_EOL, ' '), '', $numberDesc->getNationalNumberPattern()) . ')$/', $nationalNumber);
     return $possibleNumberPatternMatcher && $nationalNumberPatternMatcher;
 }
 /**
  * @param string $nationalNumber
  * @param PhoneNumberDesc $numberDesc
  * @return bool
  */
 public function isNumberMatchingDesc($nationalNumber, PhoneNumberDesc $numberDesc)
 {
     // Check if any possible number lengths are present; if so, we use them to avoid checking the
     // validation pattern if they don't match. If they are absent, this means they match the general
     // description, which we have already checked before checking a specific number type.
     $actualLength = mb_strlen($nationalNumber);
     $possibleLengths = $numberDesc->getPossibleLength();
     if (count($possibleLengths) > 0 && !in_array($actualLength, $possibleLengths)) {
         return false;
     }
     $nationalNumberPatternMatcher = new Matcher($numberDesc->getNationalNumberPattern(), $nationalNumber);
     return $nationalNumberPatternMatcher->matches();
 }
 private function isNumberMatchingDesc($nationalNumber, PhoneNumberDesc $numberDesc)
 {
     if (DIRECTORY_SEPARATOR == '\\') {
         // For Windows
         $possibleNumberPatternMatcher = preg_match('/^(' . str_replace(array("\n", "\r", ' '), '', $numberDesc->getPossibleNumberPattern()) . ')$/', $nationalNumber);
         $nationalNumberPatternMatcher = preg_match('/^(' . str_replace(array("\n", "\r", ' '), '', $numberDesc->getNationalNumberPattern()) . ')$/', $nationalNumber);
     } else {
         // For Linux
         $possibleNumberPatternMatcher = preg_match('/^(' . str_replace(array(PHP_EOL, ' '), '', $numberDesc->getPossibleNumberPattern()) . ')$/', $nationalNumber);
         $nationalNumberPatternMatcher = preg_match('/^(' . str_replace(array(PHP_EOL, ' '), '', $numberDesc->getNationalNumberPattern()) . ')$/', $nationalNumber);
     }
     return $possibleNumberPatternMatcher && $nationalNumberPatternMatcher;
 }