zendframework / zend-i18n

I18n component from Zend Framework
BSD 3-Clause "New" or "Revised" License
65 stars 49 forks source link

PhoneNumber requires country code #111

Open internalsystemerror opened 5 years ago

internalsystemerror commented 5 years ago

Use case, UK business website with enquiry form for UK customers. They are not expected to enter the country code for their phone number. An 11 digit number beginning with 0 is not considered valid. e.g. 0161 123 4567 (calling internationally it would be +44 161 123 4567). The issue only occurs with UK mobile numbers in my testing and the above is actually correct.

Code to reproduce the issue

$phoneNumber = new \Zend\I18n\Validator\PhoneNumber();
$phoneNumber->isValid('07875121234');

Expected results

Considered valid.

Actual results

Considered invalid.

Not sure of an easy fix for this, or whether the docs should state that the country code is expected?

internalsystemerror commented 5 years ago

I believe this is something the Google library takes into account... Looking at an alternative implementation it works as expected: https://giggsey.com/libphonenumber/.

froschdesign commented 5 years ago

@internalsystemerror The current problem: the patterns for phone numbers in zend-i18n are very old. We need a script to update these patterns and have to rework all unit tests which belongs to the PhoneNumber validator.

froschdesign commented 5 years ago

Sorry, this issue report is a feature request and not a bug. The bug are the outdated phone number patterns which are covered in separate issue reports.


I like this feature request because it would be a great improvement for this component!

internalsystemerror commented 5 years ago

On further investigation, the original example given above is in fact valid, and it's only UK mobiles which have an issue: e.g. 0787 512 1234.

froschdesign commented 5 years ago

@internalsystemerror No problem. We have to write unit tests anyway.

weierophinney commented 4 years ago

This repository has been closed and moved to laminas/laminas-i18n; a new issue has been opened at https://github.com/laminas/laminas-i18n/issues/3.