2012-06-24 125 views
1

基本上我想要做的是验证表单。在我想要让空间中的一个字段:jquery验证空间正则表达式

我一直在使用:

$.validator.addMethod(
    "legalname", 
    function(value, element) { 
     return this.optional(element) || /^[a-zA-Z0-9()._-\s]+$/.test(value); 
    }, 
    "Illegal character. Only points, spaces, underscores or dashes are allowed." 
); 

$("#editform").validate({ 
    rules: { 
     name: { 
      required: true, 
      legalname: true 
     }, 
    }); 

这个工作在Safari,但不能在Firefox它给了我一个“在字符类无效的范围”。任何想法如何我可以得到这个工作?

+1

逃脱短跑。在一个字符类中它定义了一个字符范围。 –

+0

@RayToal。我的想法确切。 +1 – gdoron

+0

你在'validate()'中缺少一个'}',老版本的IE可以通过'name:'后面的逗号来翻转。 –

回答

4

尝试逃离-:正如你可以在这里看到:工作演示:需要内部字符类([])进行转义http://jsfiddle.net/svp6D/2

/^[a-zA-Z0-9()._\-\s]+$/ 

特点是:

- \/[]^
+0

++ 1;呦,我可以采取主动和轻微除了你的帖子吗? –

+0

@Tats_innit。你可以通过询问来做到这一点。我相信你,(我收到通知为什么我的帖子发生了变化,所以我可以查看它们...) – gdoron

+0

我不知道你们其他人的感受如何,但我发现[regular-expressions.info](http:/ /www.regular-expressions.info/reference.html)一个很好的资源。 –