jQuery 文本框中只能输入正整数

2022-02-23 09:53:18 浏览数 (3)

文本框的输入的内容可能会有各种限制,比如文本框中只能够输入正整数。

下面就是一段能够实现此功能的代码实例,需要的可以做一下参考。

代码实例如下:

实例1

代码语言:javascript复制
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>前端</title>
<script src="/jquery/1.9.0/jquery.js"></script>
<script>
$(document).ready(function(){
  $("input").keyup(function(){
    $(this).val($(this).val().replace(/D|^0/g,''));
  }).bind("paste",function(){
    return false;
  })
});
</script>
</head>
<body>
<input type="text"/>
</body>
</html>

实例2

代码语言:javascript复制
$('.skuStock').keyup(function(){
	$(this)[0].value=$(this)[0].value.replace(/^(0 )|[^d] /g,'')
})

实例3

代码语言:javascript复制
//限制键盘只能按数字键、小键盘数字键、退格键
$("#txtQty").keydown(function (e) {
var code = parseInt(e.keyCode);
if (code >= 96 && code <= 105 || code >= 48 && code <= 57 || code == 8) {
return true;
} else {
return false;
}
})

//文本框输入事件,任何非正整数的输入都重置为1
$("#txtQty").bind("input propertychange", function () {
if (isNaN(parseFloat($(this).val())) || parseFloat($(this).val()) <= 0) $(this).val(1);
})

实例4

代码语言:javascript复制
<input 
onkeyup="if(this.value.length==1){this.value=this.value.replace(/[^1-9]/g,'')}else{this.value=this.value.replace(/D/g,'')}" 
onafterpaste="if(this.value.length==1){this.value=this.value.replace(/[^1-9]/g,'')}else{this.value=this.value.replace(/D/g,'')}"
>

上面的代码实例实现了我们的要求,下面介绍一下它的实现过程。

一.代码注释:

(1).$(document).ready(function(){}),当文档结构完全加载完毕再去执行函数中的代码。

(2).$("input").keyup(function(){}),为input元素注册keyup事件处理函数。

(3).$(this).val($(this).val().replace(/D|^0/g,''));,将非数字或者以0为开头的替换为空。

(4)$("input").bind("paste",function(){

  return false;

}),

为文本框注册paste事件处理函数,这个是为了防止对文本框复制黏贴操作。

1 人点赞