`
ganglong99
  • 浏览: 159723 次
  • 性别: Icon_minigender_1
  • 来自: 重庆
社区版块
存档分类
最新评论

JS控制只能往输入框中输入数字

阅读更多
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="">
<META NAME="Keywords" CONTENT="">
<META NAME="Description" CONTENT="">

<SCRIPT LANGUAGE="JavaScript">
<!--
function keyPress() {
	var keyCode = event.keyCode;
	if ((keyCode >= 48 && keyCode <= 57))
	{
		event.returnValue = true;
	} else {
		event.returnValue = false;
	}
}
//-->
</SCRIPT>
</HEAD>

<BODY>
<INPUT TYPE="text" NAME="pName" onkeypress="keyPress()">
</BODY>
</HTML>

 

注意,这里是捕捉的onkeypress事件,而不是捕捉的onkeydown事件,如果是捕捉onkeydown事件,则这里就要修改if判断语句。 

分享到:
评论
14 楼 jaychang 2011-01-17  
对于 负号,小数点未作处理,还可以做保留两位小数点,有待好好改进哦
13 楼 jimoshutong 2010-08-27  
还是正则验证一下的比较好吧!复制、粘贴也要验证的。
12 楼 s79 2010-02-26  
选定并拖拽部分文本到该输入框怎么办?
现在做这类限制,包括TEXTAREA的长度限制,都在表单提交时统一检查比较好。
11 楼 matychen 2010-02-26  
<input type="text" name="fmoney" id="fmoney" onKeyUp="value=value.replace(/[^\d-]/g,'')" style="width: 65px;"/>
10 楼 luobin23628 2010-02-24  
终于解决了
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">  
<HTML>  
<HEAD>  
<TITLE> New Document </TITLE>  
<META NAME="Generator" CONTENT="EditPlus">  
<META NAME="Author" CONTENT="">  
<META NAME="Keywords" CONTENT="">  
<META NAME="Description" CONTENT="">  
  
<SCRIPT LANGUAGE="JavaScript">  
<!--   
function keyPress() {   
    var keyCode = event.keyCode;   
    if ((keyCode >= 48 && keyCode <= 57))   
    {   
        event.returnValue = true;   
    } else {   
        event.returnValue = false;   
    }   
}   
//-->  
</SCRIPT>  
</HEAD>  
  
<BODY>  
<INPUT TYPE="text" NAME="pName" style="ime-mode:disabled;" onpaste="return false;" onkeypress="keyPress()">  
</BODY>  
</HTML>  

style="ime-mode:disabled;"不让用户修改输入法即可
学习了
9 楼 luobin23628 2010-02-24  
caiying0504 写道
这个方法不太完善
如果使用中文输入,再回车或空格,文字或者字母还是可以输进去
<INPUT onkeyup="this.value=this.value.replace(/\D/g,'')" onafterpaste="this.value=this.value.replace(/\D/g,'')">--不能输入空格,按键弹起触发验证

这种方式比较直接


可以改成
<INPUT onkeyup="this.value=this.value.replace(/\D/g,'')" 
onblur="this.value=this.value.replace(/\D/g,'')"
onafterpaste="this.value=this.value.replace(/\D/g,'')">--不能输入空格,按键弹起触发验证

8 楼 luobin23628 2010-02-24  
修改了下
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">  
<HTML>  
<HEAD>  
<TITLE> New Document </TITLE>  
<META NAME="Generator" CONTENT="EditPlus">  
<META NAME="Author" CONTENT="">  
<META NAME="Keywords" CONTENT="">  
<META NAME="Description" CONTENT="">  
  
<SCRIPT LANGUAGE="JavaScript">  
function keyDown() {   
    var keyCode = event.keyCode;   
    if ((keyCode >= 48 && keyCode <= 57||keyCode==8))   
    {   
        event.returnValue = true;   
    } else {   
        event.returnValue = false;   
    }   
}   
</SCRIPT>  
</HEAD>  
  
<BODY>  
<INPUT TYPE="text" NAME="pName" onkeydown="keyDown()" onpaste="return false;">  
</BODY>  
</HTML> 
 


但是中文大写锁定时不能输入数字
不支持小键盘
7 楼 ganglong99 2010-02-09  
nami 写道
caiying0504 写道
这个方法不太完善
如果使用中文输入,再回车或空格,文字或者字母还是可以输进去
<INPUT onkeyup="this.value=this.value.replace(/\D/g,'')" onafterpaste="this.value=this.value.replace(/\D/g,'')">--不能输入空格,按键弹起触发验证

这种方式比较直接


按住一个字母,再按tab键,还是可以输入字符。

呵呵,确实不够完善,谢谢提醒!
6 楼 nami 2010-01-30  
caiying0504 写道
这个方法不太完善
如果使用中文输入,再回车或空格,文字或者字母还是可以输进去
<INPUT onkeyup="this.value=this.value.replace(/\D/g,'')" onafterpaste="this.value=this.value.replace(/\D/g,'')">--不能输入空格,按键弹起触发验证

这种方式比较直接


按住一个字母,再按tab键,还是可以输入字符。
5 楼 longshao_feng 2010-01-29  
我试了,怎么没有效果?
楼主解决了么?
4 楼 caiying0504 2010-01-27  
这个方法不太完善
如果使用中文输入,再回车或空格,文字或者字母还是可以输进去
<INPUT onkeyup="this.value=this.value.replace(/\D/g,'')" onafterpaste="this.value=this.value.replace(/\D/g,'')">--不能输入空格,按键弹起触发验证

这种方式比较直接

3 楼 andy_zm 2010-01-27  
var myEvent = event || window.event;
var keyCode = myEvent.keyCode;

兼容性更好一点...
2 楼 ganglong99 2010-01-27  
xyztony1985 写道
比较喜欢不用if判断。
function keyPress() {   
    var keyCode = event.keyCode;
	event.returnValue = ((keyCode >= 48 && keyCode <= 57));   
}   


呵呵,效果一样!
1 楼 xyztony1985 2010-01-21  
比较喜欢不用if判断。
function keyPress() {   
    var keyCode = event.keyCode;
	event.returnValue = ((keyCode >= 48 && keyCode <= 57));   
}   

相关推荐

Global site tag (gtag.js) - Google Analytics