Describe the bug
The regexp in use is incorrect for mobile phones in Brazil, and it also has a few bugs as mentioned below:
Bugs
Second regexp group is useless as first group is always used
The second group ( [6-9]{1}\d{3}\-?\d{4} ) is included in the first one ( \d{4}\-?\d{4} )
There is an OR operator missing between the first and second group
The two digits that precedes the phone number can be wrapped around parentheses, just like the first 3 digits of the en-US phone number, also it's possible to have a space between the country code and area code, and between the area code and phone number
Examples of phone numbers
With country code and area code
Without country code, with area code in parentheses
Without country code, with 0 followed by area code
Without country code, without 0, with area code
Suggested RegExp
I'd suggest the usage of the following regexp as it fixes above issues.
/^((\+?55\ ?[1-9]{2}\ ?)|(0[1-9]{2}\ ?)|(\([1-9]{2}\)\ ?)|([1-9]{2}\ ?))((\d{4}\-?\d{4})|(9[6-9]{1}\d{3}\-?\d{4}))$/
Thanks for the suggestion, could you open a PR?
if its still available i will be working asap
Hello my friends I'm having trouble sending to cell phones that the second number of cell 4, for example 11945555555, here in S茫o Paulo / Brazil some phones are like this
Suggest :
/(?=^(+?5{2}-?|0)[1-9]{2}-?\d{4}-?\d{4}$)(^(+?5{2}-?|0)[1-9]{2}-?[6-9]{1}\d{3}-?\d{4}$)|(^(+?5{2}-?|0)[1-9]{2}-?9[4-9]{1}\d{3}-?\d{4}$)/
@lacort Agreed, I was about to publish this but I realised that some numbers in S茫o Paulo might start with 9 and be followed by a 4 (and apparently 3 too), it seems that those are new numbers given by certain ISP companies (like Vivo and Nextel) in S茫o Paulo state (but mainly in S茫o Paulo city). I should have a look at this by the end of the day.
If anybody wants to tackle this as a PR, I would be most appreciative as it is beyond my immediate knowledge.
https://github.com/validatorjs/validator.js/pull/1407
Opened a new PR, with changes I made. It should now support new phone numbers that start with 9 and be followed by 2, 3, 4 and 5 too.
closed in #1407