4 ms·
> It's not like being just a little more flexible with input formatting is a major feature with huge implementation costs and security risks, either. Just in c
by Dunedan 5y ago
> It's not like being just a little more flexible with input formatting is a major feature with huge implementation costs and security risks, either.
Just in case somebody considers implementing phone number parsing and normalizing: Just don't and use Googles libphonenumber, which offers solid, ready to use implementations in various languages (there also exist ports for other languages too): https://github.com/google/libphonenumber/ https://github.com/google/libphonenumber/
- hallway_monitor 5y agoIn case anyone asks you to implement any input formatting, see if you can get them to change their minds. IMO the most bug-prone and useless feature of websites. Let the user put in whatever they want and just input.replace(/[^0-9]+/, ''). You, your users and your product owners will be happier.
- Dunedan 5y agoThis doesn't work for phone numbers if you want to do something programmatically with them. In Germany it's for example common to include the international prefix _and_ a trunk prefix like this in written phone numbers: +49 (0)30 23125 123 Your naive approach to just replace non-number characters would lead to an invalid number in such a case. Using libphonenumber you'd get a correctly normalized phone number while the user doesn't get bothered for inputting a technically invalid number: https://libphonenumber.appspot.com/phonenumberparser?number=%2B49+%280%2930+23125+123 https://libphonenumber.appspot.com/phonenumberparser?number=...