表单验证regex.test(value)返回true但运行好像是假的,想法?

时间:2011-06-29 12:10:44

标签: jquery regex validation forms testing

我在这个简单的表单字段验证脚本上遇到了一个奇怪的小问题。

我有3个字段,1个文字输入用于名称,1个电子邮件输入和1个textarea用于评论。

基本上现在发生的事情是,如果您将任何字段留下​​并点击提交,我会将.error.valid类分配给正确的dom对象。

然而奇怪的是,如果你错过其中一个字段,例如跳过名字字段,填写其他字段,点击提交然后尝试填写名称,验证即使它识别字段值当传递正则表达式(/.+/gi)时,它将应用错误类,因为它将字段标记为failed

对我所做错的任何想法都会非常感激。

JS Fiddle的代码示例:http://jsfiddle.net/jannis/YXfZN/

注意:此错误在Mac上的链接小提琴中发生并重现(v 12.0.742.112)。

谢谢你看看, 我期待着您的想法和建议。

Jannis

1 个答案:

答案 0 :(得分:1)

这是因为g标志。因为你的正则表达式变得粘稠。同样的问题:Regex in javascript fails every other time with identical input

如果您在控制台中测试此代码(regex[type].test( 'a' )),则每次都会得到不同的结果。

在没有g标志的情况下再试一次。