input[type=email] ですが、
例えば、chrome(Mac)で「hoge@yahoo」は
正常に通過することを確認しました。
もちろん、input[type=email] が完璧でなはいことも学習しましたが、
.comや.jpなどが無くても、
通過することが私は不思議です。
明らかにメールアドレスではないような気がするからです。
これは普通のことなのでしょうか?
HTML5には input[type=email] という要素があり、メールアドレスの書式チェックをクライアントサイドで行えるようになっています。このチェックでは、下記の(Perl5の記法にならった)正規表現を使っています。
/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:.[a-zA-Z0-9-]+)*$/
ただし、HTML5の仕様では、ユーザーエージェントは妥当なメールアドレス以外も入力可能にすることもできるとされており、 実際にどのような動作となるかは、ユーザーの利用するユーザーエージェント次第と言えるでしょう。 type="email"を指定しておけば、必ずユーザーに正確なメールアドレスを記入してもらえるというわけではないので、 使用の際には注意してください。
回答1件
あなたの回答
tips
プレビュー