Falsehoods programmers believe about phone numbers

Phone numbers are not ten digits, not US-shaped, and formatting is cosmetic. Here's what breaks phone validation.

Try it — type something other forms reject:

A phone input that assumes ten digits and a US shape locks out most of the planet. Worse, strict validators reject newly-issued real numbers, because their metadata always lags reality.

The falsehoods

How humaneforms handles it

The demo runs the real validatePhone (powered by libphonenumber), normalizing to E.164. A number that’s the right length but not yet recognized as assigned is accepted with a gentle warning, never rejected — so you don’t turn away a real customer with a brand-new SIM.

npm install @humaneforms/react, or get the Pack.

Get the Pack — $99 Free on GitHub