2015-06-25 59 views
0

我正在使用Verify.js庫(http://verifyjs.com/)。這似乎正是我需要做客戶端驗證。Verify.js - 使用正則表達式進行驗證

但是,我很難讓它與我正在寫的正則表達式一起工作。它似乎每當我嘗試向前看,表單總是被允許提交和正則表達式不評估(也許它不是編譯)?

我相信我的正則表達式是正確的。我試圖驗證用戶輸入一個整數或小數。

<form>Type abc 
<input required type="text" data-validate="regex(^abc$)" />Type integer/decimal 
<input required type="text" data-validate="regex(^[0-9]+([\,\.][0-9]+)?$)" /> 
<input type="submit" /> 

這裏有一個小提琴:

https://jsfiddle.net/ms4pg776/1/

+0

爲什麼不使用內建的[decimal rule](http://verifyjs.com/#included-rules)?: https://jsfiddle.net/82Lsnytv/ –

+0

@JasonCust因爲允許用戶定義表單的正則表達式。我需要一個允許使用任意正則表達式的方法。但是,對於這個例子,你是對的,十進制規則會起作用! – dmcmulle

回答

0

我通過添加規則到$ .verify變量固定這一點。

$.verify.addRules({ 
    isIntegerOrDouble: { 
     regex: /^[0-9]+([\\.][0-9]+)?$/, 
     message: "Please enter an integer or a decimal number." 
    } 
}); 

然後在HTML:

<input required data-validate="isIntegerOrDouble" type="text"/> 

希望它可以幫助別人!