onKeyPress="if((event.keyCode<48 || event.keyCode>57) && event.keyCode!=46 || /.dd$/.test(value))event.returnValue=false"
利用KeyPress事件,可以过滤掉不符合的一些键值。
项目中有个需要在鼠标不移出输入框的时候校验整数的需求。
keypress和keyup结合使用:
HTML代码:
<input type="text" class="test" onKeyPress="if((event.keyCode<48 || event.keyCode>57) && event.keyCode!=46 || /.dd$/.test(value))event.returnValue=false">
javascript代码:
$(".test").on("keyup",function(event){
var _this = $(this),
_value = _this.val();
if(_value.slice(0,1)=="0"){
_this.val(0);
}else if(!/^[0-9]+$/ig.test(_value)){
var _this = $(this),
_value = _this.val();
if(_value.slice(0,1)=="0"){
_this.val(0);
}else if(!/^[0-9]+$/ig.test(_value)){
//_this.val(_value.slice(0,_len-1));
_this.val(_this.val().replace(/[^0-9]/ig,""));
return;
}
})
这样结合就可以比较完美解决在鼠标不移出输入框时候整数校验问题。