dongri / phonenumber Goto Github PK
View Code? Open in Web Editor NEWWith a given country and phone number, validate and format the MOBILE phone number to E.164 standard
License: MIT License
With a given country and phone number, validate and format the MOBILE phone number to E.164 standard
License: MIT License
The library incorrectly identifies an invalid USA phone number as Jamaica number.
Example:
phonenumber.ParseWithLandLine("+1 289 2999", "US")
Expected output: "". Actual output: +12892999. I believe that since the length matched Jamaica's number length (7), it matched it with the country Jamaica.
The issue is that despite the country being provided correctly in the input, the function tries to identify the ISO3166 by Number in the following lines, and the GetISO3166ByNumber function matches with Jamaica. I did not follow why the library tried to retrieve ISO3166 by phone number when the correct country (US) was already provided as input.
if plusSign {
iso3166 = GetISO3166ByNumber(number, landLineInclude)
} else {
if indexOfInt(len(number), iso3166.PhoneNumberLengths) != -1 {
number = iso3166.CountryCode + number
}
}
1.It is giving the country code even if the number contains alphanumeric characters
2.Some countries validations are missed due to length/prefix mismatch.
Thanks.
Hi,
Did you plan to add short numbers and urgency numbers matching ?
Regards
Hello. i use your library. but i have issue with my local provider.
in indonesia phone number with 0821xxxxxxxx, 0822xxxxxxxx, 0852xxxxxxxx use indonesian provider. but with your library that number detect from korea and hongkong.
US and CA have the same country code, hence if you call GetISO3166ByNumber()
with withLandline=true
it will always return US
even for Canadian mobile numbers - as per https://github.com/dongri/phonenumber/blob/master/phonenumber.go#L106
To fix this, I suggest the library code to be reworked to match the longest matching prefix of country_code+mobile_prefix.
Currently library supports just "3" prefix for begening in Bahrain numbers. But there are "6" and "7" prefix. So could you add new prefixes? For example +97366622125
i.Alpha2 = "BH"
i.Alpha3 = "BHR"
i.CountryCode = "973"
i.CountryName = "Bahrain"
i.MobileBeginWith = []string{"3"}
i.PhoneNumberLengths = []int{8}
iso3166Datas = append(iso3166Datas, i)
It does not appear this library supports toll free area codes such as 800
, 833
, 844
, 855
, 866
, 877
, and 888
. Here is an example of parsing a 1-800
number and an 800
number. Are these numbers being excluded from here by design? Through my research I was unable to ascertain whether they are official subdivision codes for the US in the ISO 3166 spec or not. Regardless it leaves me in a difficult position when using this library because my application does need to take these numbers into account. Any suggestions on how to handle them?
Hi
I'm think about using this code in my project and wonder if it's maintained. It seems like a few people have been forking and actively updating the forks but nothing went back to the upstream:
https://github.com/4rakcheev/phonenumber/commits/master -- this seems to be actively maintained.
https://github.com/OpenStars/phonenumber/commits/master
https://github.com/cooltech-bs/phonenumber/commits/master
What are your plans for maintaining/updating the phone # data?
Thanks!
Why does it not work when the prefix is 00 instead of +?
number := phonenumber.Parse("0044 7522 853519", "")
fmt.Println(number)
2019/08/29 14:31:36 the phone number supplied is not a number
Hi,
would it be possible to add an open source license?
Thank you :)
Each call of GetISO3166() creates a new array of rules that causing the memory leak.
Will fix soon.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.