鑑於插件(jQuery Masked Input Plugin)的構建方式Tom阿諾的方法是要走的路。
如果輸入大小隻能具有與掩碼相同數量的字符。
我建議這個方法:
互補插件
(function($) {
$.fn.extend({
mask2: function(mask, settings){
//store in data
this.data('data-mask',mask);
this.data('data-maskLength', mask.length);
//add data attributes as html markups (optional)
this.attr('data-mask',mask);
this.attr('data-maskLength', mask.length);
// add validator rule (see section add custom method; i haven't test it yet you can remove it if necessary)
$("#myinput").rules("add", {
maskRule: true
});
// add original mask plugin
return this.mask(mask, settings);
}
});
})(jQuery);
現在不是使用面膜使用掩碼2
$("#date").mask2("99/99/9999");
添加自定義的驗證方法
最簡單的方法是使用data-maskLength
鍵,(你可能需要把這個頂部):
jQuery.validator.addMethod("maskRule", function(value, element, params) {
return value.length == element.data("data-maskLength");
}
我還沒有測試驗證方法,但至少你可以檢索麪罩或它的長度
你可以看到我做了什麼JsFiddle
你的代碼在哪裏? – Sparky
@Sparky我的問題不在於驗證插件,實際上,我寫的方法對硬編碼掩碼工作得很好。 –
沒關係。在這裏發佈一個簡潔的代碼示例對其他人來說是有益的。 – Sparky