判断是否是最简单的方法是什么?

时间:2011-12-29 04:00:54

标签: javascript html5 cross-browser validation

使用HTML5,以下标记足以让浏览器处理输入验证。

它将验证输入是否与电子邮件地址格式匹配以及实际提供的格式:

<input id="email" name="email" type="email" placeholder="Email address" required/>

没有必要挂钩事件,既不是输入框也不是提交按钮,就好了。

我正在寻找一种方法来决定浏览器是否已经支持此功能,或者我应该自己处理输入验证。

我想知道是否有办法直截了当,或者我是否应该保留所有可能品牌版本组合和支持标志的表格。

2 个答案:

答案 0 :(得分:4)

如@deceze所述,检测技术在here中描述,工具为modernizr

if (!Modernizr.inputtypes.email) {
  // no native support for <input type="email"> :(
  // maybe build one yourself with Dojo or jQueryUI
}

答案 1 :(得分:-1)

您可以检查“Tzury”中提到的modernizr库中的输入类型,但这里是支持新的html5输入元素的浏览器及其版本列表。

HTML5表单的浏览器支持正在增长,但有限。看来很多浏览器厂商 除了Opera之外,还没有在他们的新表单控件上投入大量精力。然而,WebKit浏览器最近增加了对表单的支持,可能是因为推出了iPhone及其虚拟键盘显示,我们很快就会看到。正在引入更高级的功能,例如验证。表7-1总结了当今HTML5 Forms支持的当前状态。

enter image description here

在新的HTML5表单的上下文中检查浏览器支持不太有用,因为它们被设计为在旧版浏览器中优雅地降级。很大程度上,这意味着您今天使用新元素是安全的,因为旧版浏览器将回退到他们不理解的任何输入类型的简单文本字段显示。

作为参考,您可以在亚马逊Apress Pro HTML5 Programming Sep 2010

上查看此书