2013-04-04 70 views
3

我無法獲取jquery.validation.js來驗證某個狀態。這裏是我寫的自定義代碼:jQuery驗證狀態

jQuery.validator.addMethod("state", function(state, element) { 
    return this.optional(element) || state.match(/^d{2}[A-Z]+$/); 
}, "Please specify a valid state"); 

什麼需要改變?我看起來沒問題。它需要匹配2個大寫字母。另外,這種格式如何工作?它對我來說確實沒什麼意義,所有奇怪的符號都可以指定可以使用哪些字符。有沒有指導這個地方?

http://docs.jquery.com/Plugins/Validation

+2

怪異字符只是JavaScript的正則表達式(正則表達式) – 2013-04-04 19:34:56

+0

我會環顧四周,看看我能不能找到一個體面的教程。謝謝。我不知道要搜索什麼,因爲我不知道它叫什麼。 – JacobTheDev 2013-04-04 19:35:53

回答

2

你爲什麼不嘗試使用這種資本化狀態代碼:

/^(A[LKSZRAEP]|C[AOT]|D[EC]|F[LM]|G[ANU]|HI|I[ADLN]|K[SY]|LA|M[ADEHINOPST]|N[CDEHJMVY]|O[HKR]|P[ARW]|RI|S[CD]|T[NX]|UT|V[AIT]|W[AIVY])$/ 

在您的例子:

jQuery.validator.addMethod("state", function (state, element) { 
    return this.optional(element) || state.match(/^(A[LKSZRAEP]|C[AOT]|D[EC]|F[LM]|G[ANU]|HI|I[ADLN]|K[SY]|LA|M[ADEHINOPST]|N[CDEHJMVY]|O[HKR]|P[ARW]|RI|S[CD]|T[NX]|UT|V[AIT]|W[AIVY])$/); 
}, "Please specify a valid state"); 
+0

謝謝,我認爲這比我想要的要好。但是,你知道如何去做我最初要求的嗎?我有另一個我需要做的定製事情,它非常相似(限制字符數)。 – JacobTheDev 2013-04-04 19:51:32

+2

2大寫字母應該是:'/^[A-Z] {2} $ /' – 2013-04-04 19:53:10

+0

完美,謝謝。 – JacobTheDev 2013-04-04 19:54:40