SMS Phone Number Validation

Prev Next
This content is currently unavailable in French. You are viewing the default (English) version.

When using SMS authentication, the OneSpan Sign evaluates the phone number provided in the request payload to determine how it should be interpreted and validated. Understanding this behavior helps ensure that phone numbers are correctly processed and that authentication messages are delivered successfully.

If a phone number contains exactly 10 digits with no leading + sign, OneSpan Sign automatically assumes that the signer is located in North America. In this case, the country code 1 is appended to the number before it is stored or returned in the response payload.

For example:

5551234567 becomes 15551234567

This behavior applies only when the number is 10 digits and does not include an explicit country code.

Some countries also use 10‑digit phone numbers by default. If the signer is located outside North America but their number still consists of 10 digits, you must include a leading + in the request payload. This ensures the system does not incorrectly assume the number belongs to the North American numbering plan.

For example:

+5551234567

Phone Number Preprocessing and E.164 Formatting Guidelines

In addition to the SMS Phone Number validation described above, OneSpan Sign also uses a preprocessing workflow that sanitizes and standardizes all inputs into the internationally recognized E.164 format. This ensures that numbers are stored and returned in a consistent structure across all APIs.

E.164 is the global standard for international telephone numbering as defined by the International Telecommunication Union (ITU). It defines how numbers should be structured so they can be recognized and routed anywhere in the world. An E.164 phone number includes:

  • A maximum of 15 digits

  • Digits only (0–9)

  • No spaces, hyphens, parentheses, or other separators

  • A leading + to indicate an international number

OneSpan recommends that you submit phone numbers directly in E.164 format. However, our system also accepts several alternative user‑entered formats and standardizes them automatically. This means that we accept various formatted inputs and convert them to the correct E.164 structure during preprocessing.

For example, we accept inputs such as:

(+32) 0470123456

Even though this example includes parentheses and a leading zero after the country code, our preprocessing removes the non-digit characters and the leading zero, and returns it in E.164 format:

+32470123456

The use of a leading zero is accepted by most European countries, but may not be accepted by all. The use of a leading zero is not accepted for North American numbers.

The Get Package API will always return the phone number in this standardized format.

+ [Country Code] [National Destination Code] [Subscriber Number]

Here are some examples of E.164 numbers:

Country

Example (E.164)

Explanation

United States/Canada

+14155552671

+1 = country code

United Kingdom

+442079460123

+44 = UK

France

+33142278186

+33 = France

India

+919876543210

+91 = India

Correct Number Format

Incorrect Number Format

+14155552671

(415) 555-2671

+1 415 555 2671

0044 20 7946 0123