<input type="text" onpropertychange="vvv(this.value)" id="dd" />
<script type="text/javascript">
function vvv(v) {
if(!isNaN(parseInt(v,10))) {
alert(v);
} else {
alert("非数字")
}
}
</script>
如果判断后为非0-9正整数(我上面的代码没实现这功能,顺便问一下如何判断输入的数据只限定在0-9的整数),那该如何让当前输入的数据不显示,但之前输入的正常显示呢??
比如,我想输入100,是可以正常显示的,但是如果我想输入100d的话,则应该在第4次输入d的时候提示"非数字",然后input框中显示的只是100,而不是100d
<script type="text/javascript">
function vvv(v) {
if(!isNaN(parseInt(v,10))) {
alert(v);
} else {
alert("非数字")
}
}
</script>
如果判断后为非0-9正整数(我上面的代码没实现这功能,顺便问一下如何判断输入的数据只限定在0-9的整数),那该如何让当前输入的数据不显示,但之前输入的正常显示呢??
比如,我想输入100,是可以正常显示的,但是如果我想输入100d的话,则应该在第4次输入d的时候提示"非数字",然后input框中显示的只是100,而不是100d
解决方案 »
- 关于一个EXT3.3分页的错误,请各位高手给看一下 不胜感激!
- showModelDialog弹出后,如何才能再动态修改窗口的宽度和高度?在线
- 日语符号无法写入数组
- js脚本在火狐浏览器中不兼容怎么办啊
- 帮忙检查一下这段代码
- javascript缺少对象错误
- js变量名中的数字用另一个变量替换怎么实现
- 求段代码,屏蔽页面空格键打开链接,实现默认的空格键翻页功能
- 一个月了,都没有成功地使用过正则式,我是sb吗?告诉我!!!
- 怎么获取选中图片的值?
- 小括号做什么用的啊
- |zyciis| 像<input type="button" onclick="setTimeout('alert(123);',100)" />文字要怎么写?
<script type="text/javascript">
function vvv(v,o) {
if(!isNaN(parseInt(v,10))) {
alert(v);
} else {
alert("非数字")
o.value=o.value.replace(/\D+/,'')
}
}
</script>
而且...如果第一次就输入非数字的话,则alert一直显示,除非把IE的进程kill掉
而且这样的话,下面的代码如果改成onkeypress的话,当输入非数字的时候还是会显示非数字,但是再输入非数字就无法输入,除非输入数字,当输入数字的时候则会把当前的非数字替换掉<html>
<body>
<input type="text" onpropertychange="vvv(this)" id="dd" />
<script type="text/javascript">
function vvv(o) {
o.value=o.value.replace(/\D+/,'');
}
</script>
</body>
</html>
这样虽然可以让非数字无法输入,但是每次触发onpropertychange事件都会弹出“Stack overflow at line:0”提示(应该是replace方法触发了onpropertychange事件导致的)