验证数字范围的小插件

(function($) {
$.fn.checkNumber = function(options) {// 自定义购物车商品数量,只能输入数字
var defaultOpt = {
max : null,
min : null,
showButton : true,
minusBtn : '-',
plusBtn : '+'
}
, opt = $.extend(defaultOpt, options)
, checkNumber = function(e) { // 限制输入,只能为数字
var currentKey = e.which;
var thisVal = parseInt(this.value || 0, 10);
if ((currentKey < 37 || currentKey > 40) && currentKey != 8
&& currentKey != 46) {
if (thisVal > opt.max || thisVal < opt.min) {
e.preventDefault();
return false;
} else {
if ((currentKey==57) && (currentKey == 105)) {
e.preventDefault();
return false;
}
}
}
};
this.each(function() {
var inputObj = $(this).css('ime-mode', 'disabled');
if (opt.showButton) {
// 减少
var minusBtn = $(opt.minusBtn).click(
function() {
var val = inputObj.val() || 0, thisVal = parseInt(
val, 10) - 1;
if (opt.min && thisVal < opt.min) {
return;
}
inputObj.val(thisVal).trigger(
"blur");
}); // 增加 plusBtn=
$(opt.plusBtn).click(function() {
var val = inputObj.val() || 0, thisVal = parseInt(val, 10) + 1;
if (opt.max && thisVal > opt.max) {
return;
}
inputObj.val(thisVal).trigger("blur");
});
inputObj.after(plusBtn).before(minusBtn);
}
inputObj.attr("data-ovalue", inputObj.val() || 0)
.keydown(checkNumber)
.keyup(function() {
var thisVal = parseInt(this.value || 0);
if (opt.min && thisVal < opt.min) {
this.value = opt.min;
return;
} else if (opt.max && thisVal > opt.max) {
this.value = opt.max;
return;
};
}).blur(function() {
if (typeof opt.onchange === "function") {
var oldVal = inputObj
.attr("data-ovalue"), newVal = this.value || 0, diff = parseInt(
newVal, 10)
- parseInt(oldVal, 10);
if (diff == 0)
return;
opt.onchange.call(this, newVal,
diff);
inputObj
.attr("data-ovalue", newVal);
}
});
});
};
})(jQuery);
$(function(){
var opt = {max : 1000,min : 0,showButton:true,minusBtn:'minusBtn',plusBtn:'plusBtn'};
$("#validNum").change(function(){
$("#validNum").checkNumber(opt);
});
});

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值