锁定老帖子 主题:JS控制只能往输入框中输入数字
精华帖 (0) :: 良好帖 (0) :: 新手帖 (8) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2010-01-20
最后修改:2010-01-20
<!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判断语句。 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2010-01-21
比较喜欢不用if判断。
function keyPress() { var keyCode = event.keyCode; event.returnValue = ((keyCode >= 48 && keyCode <= 57)); } |
|
返回顶楼 | |
发表时间:2010-01-27
xyztony1985 写道 比较喜欢不用if判断。
function keyPress() { var keyCode = event.keyCode; event.returnValue = ((keyCode >= 48 && keyCode <= 57)); } 呵呵,效果一样! |
|
返回顶楼 | |
发表时间:2010-01-27
var myEvent = event || window.event;
var keyCode = myEvent.keyCode; 兼容性更好一点... |
|
返回顶楼 | |
发表时间:2010-01-27
最后修改:2010-01-27
这个方法不太完善
如果使用中文输入,再回车或空格,文字或者字母还是可以输进去 <INPUT onkeyup="this.value=this.value.replace(/\D/g,'')" onafterpaste="this.value=this.value.replace(/\D/g,'')">--不能输入空格,按键弹起触发验证 这种方式比较直接 |
|
返回顶楼 | |
发表时间:2010-01-29
我试了,怎么没有效果?
楼主解决了么? |
|
返回顶楼 | |
发表时间:2010-01-30
caiying0504 写道 这个方法不太完善
如果使用中文输入,再回车或空格,文字或者字母还是可以输进去 <INPUT onkeyup="this.value=this.value.replace(/\D/g,'')" onafterpaste="this.value=this.value.replace(/\D/g,'')">--不能输入空格,按键弹起触发验证 这种方式比较直接 按住一个字母,再按tab键,还是可以输入字符。 |
|
返回顶楼 | |
发表时间:2010-02-09
nami 写道 caiying0504 写道 这个方法不太完善
如果使用中文输入,再回车或空格,文字或者字母还是可以输进去 <INPUT onkeyup="this.value=this.value.replace(/\D/g,'')" onafterpaste="this.value=this.value.replace(/\D/g,'')">--不能输入空格,按键弹起触发验证 这种方式比较直接 按住一个字母,再按tab键,还是可以输入字符。 呵呵,确实不够完善,谢谢提醒! |
|
返回顶楼 | |
发表时间:2010-02-24
最后修改: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> 但是中文大写锁定时不能输入数字 不支持小键盘 |
|
返回顶楼 | |
发表时间: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,'')">--不能输入空格,按键弹起触发验证 |
|
返回顶楼 | |