暂时只做到控制正数
var inputOldValue = "";
if( $('input.input_num_int').length ) {
$('.input_num_int').on( 'keydown',function(e) {
// e.preventDefault();
//var _this = $(this);
var code = parseInt(e.keyCode);
if(code == 229){
inputOldValue = this.value;
}
//数字,backspace,delete
if (code >= 96 && code <= 105 || code >= 48 && code <= 57 || code == 8 ||code == 46 ) {
return true;
}else if(code == 67&&event.ctrlKey==1){//复制
return true
}else if(code == 86&&event.ctrlKey==1){//黏贴
inputOldValue = this.value;
return true
}
return false;
});
//主要是防止使用复制黏贴带来的问题
$('.input_num_int').on( 'keyup',function(e) {
var code = parseInt(e.keyCode);
var value = parseInt(this.value);
if(isNaN(parseInt(this.value))){
this.value = inputOldValue;
}
});
}
// 控制只能输入数字
input class="
input_num_float
"
if( $('input.input_num_float').length ) {
$('.input_num_float').on( 'keydown',function(e) {
var code = parseInt(e.keyCode);
//中文输入
if(code == 229){
inputOldValue = this.value;
}
//数字 backspace,点号,delete
if (code >= 96 && code <= 105 || code >= 48 && code <= 57 || code == 8||code == 110 || code == 190 ||code == 46 ) {
return true;
}else if(code == 67&&event.ctrlKey==1){//复制
return true
}else if(code == 86&&event.ctrlKey==1){//黏贴
inputOldValue = this.value;
return true
}
return false;
});
$(".input_num_float").blur(function(){
var oldValue = $(this).val();
// 小数点前补0
if(oldValue.indexOf(".") == 0){
$(this).val('0'+$(this).val());
}else if(oldValue.indexOf(".") == oldValue.length-1){//去除最后的点
$(this).val(oldValue.substring(0,oldValue.length-1) );
}
});
$('.input_num_float').on( 'keyup',function(e) {
var code = parseInt(e.keyCode);
var value = parseFloat(this.value);
if(isNaN(parseInt(this.value))){
this.value = inputOldValue;
}
});
}