リアルタイムの検証とコンテキストヘルプをフォームに入力する場合、電話番号検証の背後にあるロジックをどのように伝える必要がありますか?
たとえば、コンテキストヘルプは次のようなヒントを提供します。
「電話番号が無効または不適切です」の場合、ユーザーは有効な番号を入力する必要があることと、どの形式に従う必要があるかを明確で透明なフレーズでどのように伝えますか?
非常に均質なオーディエンスがいない限り、電話番号を検証しようとすることは一般的に悪い考えです。世界中の電話番号はかなり異なっており、同じ地域でも、有効な電話番号がいくつかあります。たとえば、オランダでは、典型的な携帯電話番号は0623456789のようになります。以下は有効な方法です。文字のグループ化を考慮せずにこれを書き留めているのを見てきました。
上記のすべてが有効であり、許可されている形式が異なります。これは、1つの国であり、携帯電話番号のみを使用しています。
私は2桁(ナミビアの小さな町)から12桁(ドイツ)まで、国際ダイヤルコードのばらつきを考慮せずにすべてを見てきました。
電話番号を検証しようとして、オーディエンスが少しでも異質である場合、解決するよりも多くの問題を引き起こす可能性があります。私は電話番号の検証に対して助言するケースの99%に対して。
最初に国(ドロップダウン)を要求し、その国の正しい形式を使用して、電話番号がどのように表示されるかを例に示します(テキストボックスのヒントテキストを使用すれば十分です)。
他の国についてはわかりませんが、一般的に米国のユーザーをターゲットにして電話番号を要求するWebサイトでは、入力タイプが次の場合、電話番号が特定の形式(555-555-5555など)であることを常に検証しているようです単なるテキストボックスです。ハイフン(または括弧とハイフン)がすでに提供されている3つの個別のテキストボックスが使用されることもありますが、キーボードを使用して入力する場合、これらのテキストボックスは少し面倒で、間違いを修正する必要があり、バックスペースが意図したとおりに動作しません。
電話番号用のヘルパーライブラリがあります
入力された電話番号の解析(コンピューターの現在の解釈)を表示し、ユーザーに番号を正しく解釈させるのに十分なデータをユーザーに提供させることを検討してください。
コンピューターは、有効で正規化された電話番号を最もよく推測します Google libphonenumberライブラリ とブラウザーロケールからのデータ、ユーザーIP(ページの例を参照)を利用できます。このライブラリには、非常に広範囲のデータの受け入れと、法的な電話番号の知識があります。
「強制検証」ではありませんが、ユーザーは数値が信頼できるかどうかを非常に確信できます。ライブラリはおそらく検証を実施するのに十分なほど堅牢ですが、それなら到達不能な番号+1 555 555 5555がどうにかできます。