您的位置:首页 > Web前端 > JavaScript

JS限制用户只能输入数字

2015-07-14 09:51 597 查看
最近有个小需求,要求用js实现只能让用户输入0-9的数字,考虑到输入,可能有集中情况:

1、用户从键盘输入;

2、用户用鼠标右键的黏贴功能;

3、用户使用ctrl+v;

所以,需要控制用户的键盘输入、禁用黏贴功能,代码实现如下:

<html>
<head>
<title>Input Limit Demo</title>
<script type="text/javascript" src="jquery.1.4.2-min.js"></script>
<script type="text/javascript">
//方式一:原生态js实现"只允许用户输入数字"
function limitInput(ele){
var numberLimit = function(e) {
e = e || window.event;
var k = (typeof e.which == "number") ? e.which : e.keyCode;
if((k<48 || k>57) && k!=8){
return false;
}
if(e.shiftKey && k >= 48 && k <= 57) {
return false;
}
return true;
};
ele["onkeydown"] = numberLimit;
}

window.onload = function(){
var ele = document.getElementById("lmInput1");
limitInput(ele);
}

//方式二:jQuery方式实现"只允许用户输入数字"
$(document).ready(function(){
$("#lmInput2").keydown(function(e){
var k = (typeof e.which == "number") ? e.which : e.keyCode;
if((k<48 || k>57) && k!=8){
return false;
}
if(e.shiftKey && k >= 48 && k <= 57) {
return false;
}
return true;
});
});
</script>
</head>
<body>
<div>原生态实现方式:<input type="text" id="lmInput1" value="" onpaste="return false" /></div>
<div>jQuery实现方式:<input type="text" id="lmInput2" value="" onpaste="return false" /></div>
</body>
</html>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  js限制 onkeydown