2012-06-24 123 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)一個很好的資源。 –