输入元素模式属性的Javascript正则表达式适用于reFiddle,但不适用于页面

时间:2013-12-16 01:33:10

标签: javascript regex html5 zurb-foundation

我尝试使用以下正则表达式为填写表单的用户提供一些基本反馈:

/\+?[(]?(?:[0-9\ ][a-z]?[()\-\.]?){3,}/ig

(我已经了解this point有关电话号码的正则表达式;我的目的只是为了通过突出显示输入框绿色或红色来为用户提供一些反馈,而不是为了确保真正的电话号码进入了。)

这个正则表达式似乎完全符合我对reFiddle(http://refiddle.com/h0x)的要求,但当我在页面上使用它时,似乎发现一切都无效:

<input type='tel' name='phone' required pattern='/\+?[(?:]?([0-9a-z\ ][()\-\.]?){3,}/ig' />

这被用作Zurb Foundation的Abide表格验证的一部分。该页面有许多其他具有各种模式的输入,它们似乎都正确地验证/无效。

有人可以建议我做错了导致正则表达式模式使一切无效吗?感谢。

1 个答案:

答案 0 :(得分:0)

您不能在html pattern对象中使用javascript分隔符(或修饰符)。要使模式生效,请删除分隔符和javascript修饰符,如下所示:

\+?[(?:]?([0-9a-z\ ][()\-\.]?){3,}

在此处查看此操作:http://jsfiddle.net/remus/dPZC7/(按提交进行检查)。