2017-06-12 26 views
0

我試圖根據正則表達式驗證jQuery.validate() plugin的字段。如果答案看起來像「468.47」或「123.45」的「999.12」,那麼Ik需要驗證。所以[3位] [點] [2位]如何創建正則表達式動態設置jQuery驗證模式選項

我動態地設置.validate() - 選項if語句,像這樣:

if (true) { 

    $('#registerForm').validate().settings.rules.ssn.pattern = '[0-9]{3}.[0-9]{2}$'; 
} 
else { 

    $('#registerForm').validate().settings.rules.ssn.pattern = ''; 
} 

當我進入.i.e。 123.45它不驗證。即使在我嘗試時也沒有

$('#registerForm').validate().element('#registerPassP'); 

在控制檯中。

我包括所有這些JS腳本的:

  • jquery.validate.min.js
  • 附加methods.min.js
  • pattern.js

或許真的正則表達式錯誤?

謝謝大家!

+0

不回答你的問題,但要注意,'.'在你的正則表達式匹配任何字符(除換行符)。它應該被轉義爲匹配點 - '\ .'。 – ClasG

+1

一個thougt - 在JS中,一個正則表達式被''包圍 - '你試過了嗎?/^[0-9] {3} \\。[0-9] {2} $ /'而不是''[ 0-9] {3}。[0-9] {2} $「'? – ClasG

+0

一個好主意,雖然我不認爲他需要雙倍逃脫點'\\ .'應該是'\ .'? – sweaver2112

回答