我試圖創建一個自定義jquery驗證規則來對文本框上的值執行正則表達式。這裏是規則:帶反斜槓的jQuery自定義驗證規則
$.validator.addMethod("validateRegExp", function (value, element, pattern) {
console.debug("pattern: " + pattern);
var regex = new RegExp(pattern);
var isMatch = regex.test(value);
console.debug("value: " + value);
console.debug("result: " + isMatch);
return isMatch;
});
這裏是HTML:
<input type="text" class="{ "validateRegExp": "^\d{1,2}:\d{2}(\s)*(AM|am|PM|pm)$", messages: { "validateRegExp": "Invalid Time" } }" maxlength="8" value="8:00 AM" name="TuesdayStartTime" id="TuesdayStartTime" />
出於某種原因,當調用自定義validateRegExp方法,模式屬性設置爲:
^d {1,2}:d {2}(s)*(AM | am | PM | pm)$
正如您所看到的,反斜槓已被刪除。我甚至可以放入2或3個反斜槓,每個反斜槓都應該去,而當它進入這個方法時,所有的反斜槓都會被濾掉。我如何得到這個工作?
對不起,我有類=「」,然後弄亂了引號的是,複製/粘貼的內部的串從螢火蟲雙引號(是動態生成的輸入,所以我不能從源複製)類看起來就是這樣,因爲它使用jquery.metadata,它允許你聲明性地指定驗證規則。 – Justin 2011-02-24 21:42:56