isValidNumber($number) || !PhoneNumberMatcher::containsOnlyValidXChars($number, $candidate, $util) || PhoneNumberMatcher::containsMoreThanOneSlashInNationalNumber($number, $candidate) || !PhoneNumberMatcher::isNationalPrefixPresentIfRequired($number, $util) ) { return false; } return PhoneNumberMatcher::checkNumberGroupingIsValid( $number, $candidate, $util, function (PhoneNumberUtil $util, PhoneNumber $number, $normalizedCandidate, $expectedNumberGroups) { return PhoneNumberMatcher::allNumberGroupsAreExactlyPresent( $util, $number, $normalizedCandidate, $expectedNumberGroups ); } ); } }