html - HTML 5 的输入类型电子邮件如何工作并且可靠吗?

标签 html validation user-interface input user-experience

我正在制作一个包含电子邮件地址的表单,我正在决定是使用 input type='email' 还是 input type='text' 并执行使用 JavaScript 进行验证。我知道确定电子邮件地址的格式是否有效是一项艰巨的任务,所以有人知道 HTML 5 的电子邮件属性在这方面的作用如何吗?

使用电子邮件属性的原因

  • 让我免于编写复杂的正则表达式
  • 代码可读性
  • 在给定一个无效的电子邮件地址时看起来不错

不使用email属性的原因

  • 不知道它的准确度如何
  • 对于无效输入,外观与表单的其余输入字段不同

编辑:任何人都知道 e-mail 属性在使用正则表达式的意义上是如何工作的?

最佳答案

关于 HTML5 的事实 <input type="email"> :

  1. 每个浏览器处理电子邮件验证的方式都不同。歌剧接受*@*作为有效的电子邮件地址。在 Safari、Chrome 和 Firefox 中您至少需要输入 *@*.*
  2. 并非所有浏览器都“支持”type="email"。您仍然可以使用 type="email",但如果浏览器不识别 type="email",浏览器将威胁它为 type="text"
  3. 在 iPhone 上,当您输入 type="email"时,iPhone 会在键盘主屏幕上显示“@”,使您的应用程序更加用户友好
  4. 使用type="email"时可以提供正则表达式

我的建议是您应该开始使用这个新的 HTML5 属性以及您自己的验证来实现上面的第 (3) 点。

更多信息:

  1. http://davidwalsh.name/html5-email
  2. http://www.the-art-of-web.com/html/html5-form-validation/#.UesKldKl5KU
  3. http://diveintohtml5.info/forms.html

希望这对您有所帮助。

关于html - HTML 5 的输入类型电子邮件如何工作并且可靠吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17645986/

相关文章:

javascript - Aurelia中的disabled.bind无法正常工作

jquery-ui-选项卡。传递查询字符串

python - 使用 Python,如何从另一个 GUI 调用 tkinter GUI?

html - 使 Div 宽度响应

javascript - 有没有办法检查我在两个输入之间选择了哪个输入 ="file"?

javascript - 用javascript模拟winkey + D

c - 替换从 GtkItemFactoryEntry 创建的 GtkItem 的回调

html - 我应该返回什么 HTTP 状态代码告诉浏览器停留在当前页面?

java - Spring MVC 3.1 根据字段值应用自定义验证

ruby-on-rails - 另一个模型的属性上的 Rails 自定义验证错误消息