js代码:
//验证数字
var validNumber = {
//只能正整数
validAll: function (obj) {
var num = $.trim($(obj).val());
num = num.replace(/[^0-9]/g, "")
if ((num.length == 1) && (num == '.')) {
num = num.replace(/./, '')
}
$(obj).val(num)
},
//验证数字 整数 有负数 有小数
validNum: function (obj) {
var num = $.trim($(obj).val());
num = num.replace(/[^0-9-.]/g, "");
var dem = num.indexOf('.');
if (dem == 0) {
num = '';
} else if (dem > 0) {
var demStr1 = num.substring(0, dem+1);
var demStr2 = num.substring(dem + 1, num.length);
demStr2 = demStr2.replace(/\./g, "");
num = demStr1 + demStr2;
}
var firstNum = num.substring(0, 1);
var otherNUm = num.substring(1, num.length);
otherNUm = otherNUm.replace(/-/g, "");
num = firstNum + '' + otherNUm;
$(obj).val(num)
},
//验证数字 小数
validNumDec:function (obj){
var num=$.trim($(obj).val());
num=num.replace(/[^0-9.]/g,"")
if((num.length==1)&&(num=='.')){
num=num.replace(/\./,'')
}
$(obj).val(num)
},
//验证数字 百分数
validNumPer:function (obj){
var num=$.trim($(obj).val());
num=num.replace(/[^0-9.]/g,"");
if ((num.length == 1) && (num == '.')) {
num=num.replace(/./,'')
}
if((num-0)>100){
alert('数值不能大于100');
$(obj).val('')
}else{
$(obj).val(num)
}
}
}
HTML代码:
<input type="text" οninput="validNumber.validAll(this)"/>
这里根据需要来调用不同的函数,如果是只能填写0和正整数,就调用validAll
实现效果:
输入0和正整数外的其他字符都是无法输入的。