Is there a standard for storing normalized phone numbers in a database?

前端 未结 18 1513
佛祖请我去吃肉
佛祖请我去吃肉 2020-11-28 19:23

What is a good data structure for storing phone numbers in database fields? I\'m looking for something that is flexible enough to handle international numbers, and also som

18条回答
  •  不知归路
    2020-11-28 19:31

    Storage

    Store phones in RFC 3966 (like +1-202-555-0252, +1-202-555-7166;ext=22). The main difference from E.164 are

    • No limit on the length
    • Support of extensions

    To optimise performance of view operations, store the phone in the National/International format next to the RFC 3966 field.

    Don't store the country code in a separate field unless you have a serious reason for that. Why? Because you shouldn't ask for the country code on the UI.

    Mostly, people enter the phones as they hear them. E.g. if the local format will start from 0 or 8, it'd be annoying for the user to make the number transformation in the head (like, "OK, don't type '0', choose the country and type the rest of what the person said in this field").

    Parsing

    Google has your back and you can validate and parse any phone number with using their libphonenumber library. There are ports to almost any language.

    So let the user just enter "0449053501" or "04 4905 3501" or "(04) 4905 3501". The tool will figure out the rest for you.

    See the official demo, to get a feeling of how much does it help.

提交回复
热议问题