HTML5输入类型电子邮件

时间:2012-02-22 04:14:58

标签: php html

我正在考虑将input type="email"用于我的新网站,但我有疑问您是否更喜欢使用输入类型文本,然后通过正则表达式检查值或使用此HTML 5电子邮件

E-mail: <input type="email" name="usremail" />

HTML输入类型电子邮件在使用时是否有问题(浏览器或用法)?

6 个答案:

答案 0 :(得分:5)

如果浏览器不支持,浏览器将不会进行任何验证。您可以使用modernizr来检测它是否有效,并采取相应措施。 (比如使用原生HTML5验证,或者使用jQuery validation

之类的东西

根据http://dev.w3.org/html5/markup/input.email.html,输入电子邮件使用此正则表达式验证它是否为电子邮件:

/^[a-zA-Z0-9.!#$%&’*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*$/

无论如何,你应该验证服务器端的这些东西。

答案 1 :(得分:4)

您可以使用html5电子邮件进行验证,但它只检查XXXX @ XXXX,这样才有效的电子邮件大声笑

对我来说,至少我会说只使用jquery validate并始终使用服务器端验证

使用电子邮件类型不会有害,因为不支持它的浏览器将转换为文本类型

您可能需要查看modernizr以获得向后兼容性

答案 2 :(得分:2)

HTML5 - 正如您所知 - 可用的浏览器并不完全支持,Chrome {,}支持此input type='email',但IE旧版本不支持..有一种解决方案:您可以继续使用这些HTML5输入,并使用此JS库来支持其他broswers:http://code.google.com/p/webforms2/

答案 3 :(得分:0)

如果你有支持bowser,那么它将没有任何问题。如果不支持它,它就像常规文本字段一样工作。 http://www.w3schools.com/html5/html5_form_input_types.asp

答案 4 :(得分:0)

你可以使用 电子邮件:

enter <input type="text" name="email" pattern="[a-z0-9._%+-]+@[a-z0-9.-]+\.[a-z]{2,3}$" >

for HTML5(http://davidwalsh.name/html5-email) 这里

答案 5 :(得分:-1)

此输入类型“电子邮件:”在IE9和Safari中不起作用,因此它将被视为仅适用于Google Chrome和Mozila fire fox,此电子邮件:自动验证浏览器是否支持HTML5 < / p>