我正在制作一个包含电子邮件地址的表单,我正在决定是使用 input type='email'
还是 input type='text'
并执行使用 JavaScript 进行验证。我知道确定电子邮件地址的格式是否有效是一项艰巨的任务,所以有人知道 HTML 5 的电子邮件属性在这方面的作用如何吗?
使用电子邮件属性的原因
- 让我免于编写复杂的正则表达式
- 代码可读性
- 在给定一个无效的电子邮件地址时看起来不错
不使用email属性的原因
- 不知道它的准确度如何
- 对于无效输入,外观与表单的其余输入字段不同
编辑:任何人都知道 e-mail
属性在使用正则表达式的意义上是如何工作的?
最佳答案
关于 HTML5 的事实 <input type="email">
:
- 每个浏览器处理电子邮件验证的方式都不同。歌剧接受
*@*
作为有效的电子邮件地址。在 Safari、Chrome 和 Firefox 中您至少需要输入*@*.*
- 并非所有浏览器都“支持”type="email"。您仍然可以使用 type="email",但如果浏览器不识别 type="email",浏览器将威胁它为 type="text"
- 在 iPhone 上,当您输入 type="email"时,iPhone 会在键盘主屏幕上显示“@”,使您的应用程序更加用户友好
- 使用type="email"时可以提供正则表达式
我的建议是您应该开始使用这个新的 HTML5 属性以及您自己的验证来实现上面的第 (3) 点。
更多信息:
- http://davidwalsh.name/html5-email
- http://www.the-art-of-web.com/html/html5-form-validation/#.UesKldKl5KU
- http://diveintohtml5.info/forms.html
希望这对您有所帮助。
关于html - HTML 5 的输入类型电子邮件如何工作并且可靠吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17645986/