我正在考虑将input type="email"
用于我的新网站,但我有疑问您是否更喜欢使用输入类型文本,然后通过正则表达式检查值或使用此HTML 5电子邮件
E-mail: <input type="email" name="usremail" />
HTML输入类型电子邮件在使用时是否有问题(浏览器或用法)?
答案 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>