私は常に、ブラウザのemail-validation-regexがJS/PHPの正規表現パターンよりも堅牢であるという仮定の下にいました。
私の雇用主は、両方の文字列が正しいと見なされることを示しました(最後にFF28で):
[email protected] // Expected to be true, is true
test@test // Expected to be false, is true
なぜ後者が本当ですか?これはバグですか、それとも将来の何かですか?私の知る限り、エクステンションを使用しないのは間違っている(多分localhostを除く)からです。
これに光を当てることができる人はいますか?
test
はトップレベルドメインであり、localpart@top-level-domain
は有効なメールアドレスであるため、有効です。
例えば メールアドレス、ドメイン部分 をご覧ください
ホストファイルを編集するか、ローカルネットワークでDNSサーバーを実行して、トップレベルのドメイン名を持つマシンを作成できます。電子メールアドレスは、そのローカルネットワーク内でのみルーティングされている場合にのみアクセスできますが、可能な構成です。
また、検証チェックを実行するためにWebブラウザーが必須ではないことにも注意してください。古いブラウザは、メールアドレスに対して特別なことをしません。新しいブラウザでは検証できますが、「電子メール」タイプは、ユーザーに専用のキーボードが表示されるモバイルデバイスで最も役立ちます。