Three simple steps to localize
Usually, an international phone number has three parts after the leading plus sign: country calling code, area code, and local phone number.
A country calling code consists of one to three digits; for example, 1 for USA and Canada, 32 for Belgium, 420 for Czech Republic, and 86 for China.
However, many countries, such as Denmark, do not have an area code.
The number of area code digits also differs. Sometimes it is a defined number, like three in the USA; however, in Germany, the area code can have three to five digits after the leading zero.
German callers do not use the leading zero in international calls to Germany. This contrasts with Italy, where you must dial the leading zero in international calls.
The digit number for the local number also differs. In Germany, local numbers can contain three to seven digits, sometimes even eight for numbers to a pbx. In some countries like the USA, phone numbers can also contain an extension at the end, separated by a hash #, which is used only by the pbx of the phone holder.
The only consistent aspect of a telephone format is that an international phone number can't be more than 15 digits.
But the format may differ. E.g. in USA you would give a phone number (213) 984 4945, or internationally as +1 (213) 984 4945. In Germany a number may be written as (02272) 937382, or internationally as +49 (0) 2272 937382 or +49 2272 937382 depending of the target group (most Germans identify the area code and automatically add a zero).
To be safe, internally save international phone numbers. Don't accept input that is only in your local phone format. You should always accept international numbers. For example, don't limit the area code to three digits or require seven digits for local numbers.