カード自体のクレジットカード番号は、スペースで区切られた4つの数字のクラスターのパターンに従っているようです。これは、「ヒューマンファクタエンジニアリング」と一致しているようです。顧客サポートの魂に数字を読み上げるときなど、人々が一度に4桁を超える数字を覚えるのが難しいことを示していると思います。
それでも、あらゆる種類のWebフォームでは、ユーザーはスペースなしでハイフンなしのクレジットカード番号を入力するように指示されています。つまり、「小売業者」が購入者から最も重要な情報を収集しているときです。これにより、ユーザーが16桁の数字の入力を確認することがほぼ不可能になります。
情報/データフィールドの入力をチェック/検証するためにCGIスクリプトを「n」にする人もいると聞いています。確かに、クレジットカード番号のスペースやハイフンを受け入れるスクリプトを作成し、コンピュータールームのIT担当者のためにそれらを取り除くことができます。これにより、ユーザーは「submit」、「cower」、または「send」を押す前にユーザーが入力して再確認するのが簡単になります。また、16桁の文字列がスペースなしで、レガシーコンピューターシステムに送信されます。これ以上プログラムする方法を知っていますか?
そして、1つの不満な質問:ユーザーインターフェイスは、インターフェイスを使用しようとしているユーザーにとって物事をより簡単にするように設計されているはずではありませんか?悪いUIまたはGUIは、ハンマーにハンドルがないようなものです。確かに、ハンマーヘッドと呼ばれる飾り気のない鋼の塊を使って釘をたたくことができますが、ハンドルを付けるとずっと速くなります。ここでの目標は、腕で釘を打ちすぎて神と箱を作ることができないことです-しかし、最初のタップで釘を開始(設定)している間、片手で釘を保持するのに十分な長さです。
彼らが悪い習慣に従事しているというだけの理由で、あなたの質問に本当に「良い」答えはありません。
それは否定的に聞こえるかもしれませんが、簡単な答えは、ユーザーエクスペリエンスを適切に考慮していないということです。多くのデザイナーや開発者が抱える欠陥であり、私が時々自分自身を表示することに罪があるものです。
時間がかかりすぎる、方法がわからない、単に考慮していないなどの理由が考えられます。
Webデザイナーがユーザーにハイフンやスペースなしでクレジットカード番号の入力を強制するのはなぜですか?
怠惰。
一般に、非常に厳密なフォームフィールド形式の要件がエンドユーザーにメリットをもたらすことはほとんどありません。バックエンドでの緩やかな解析/現状維持/低優先度のため、通常はこの方法で実装されます。それは残念です。
シンプルさ。実装に関しても、ユーザーに何が期待されるかを伝えるためにも。
すべてのユーザーは、ダッシュやスペースを含まず、すべて数字で数値を入力することの意味を理解しています。ダッシュやスペースを使用できると言われた場合、一部の顧客は混乱し、カードにはスペースのみがあり、ダッシュはないことがわかります。
多くの異なるカードがあり、かなりの数の異なるフォーマットがあることに注意してください。それらのすべてが4の4ブロックで16桁であるわけではありません。
もちろん、適切な実装はユーザーにすべての数字で数字を入力するように指示しますが、先に進む前に入力からスペースとダッシュを適切に削除します。
もちろん、機能の実装を2つの部分に分割することもできます。
誰かが(1)はすでに十分であると判断した場合、2番目の部分がスキップされることがあります。
スペースとダッシュの制限を実装しなければならなかった理由の1つは、モバイルデバイスでフルキーボードの代わりに数字キーボードをポップアップ表示させるために、pattern="[0-9]*"
プロパティは、ブラウザのサポートを強化します。現時点では、これは唯一のクロスブラウザーソリューションの一部です。
情報/データフィールドの入力をチェック/検証するためにCGIスクリプトを「n」にする人もいると聞いています。確かに、クレジットカード番号のスペースやハイフンを受け入れるスクリプトを作成し、コンピュータールームのIT担当者のためにそれらを取り除くことができます。これにより、ユーザーは「submit」、「cower」、または「send」を押す前にユーザーが入力して再確認するのが簡単になります。また、16桁の文字列がスペースなしで、レガシーコンピューターシステムに送信されます。これ以上プログラムする方法を知っていますか?
頻繁に実行されない理由は、多くのサイトで、フォームのこの側面が「機能させる」というタイプのタスクとして開発者に渡されるためです。通常、開発者はユーザーエクスペリエンスについて考えません。別のレベルの検証を追加しない方が簡単です。これは1998年にはある程度の意味がありましたが、今日はそうではありません。
プロのサイトが基本的な検証プロセスに[0-9]以外の入力を削除しないように考えられる理由はありません。