在文本框中使用onkeyup="this.value=this.value.replace(/[^\d\.]/g,'')" 来限制文本框只能输入数字的同时出现两个问题:
1、在文本框里也不能移动光标了。
2、删除一个不是最未端的数字时,光标自动跳到最后。
望高手给出一个能解决这两个问题的正则表达式,请问怎么解决这两个问题谢谢!

解决方案 »

  1.   


    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
    <html>
    <head>
    <title> 正则 </title>
    <script type="text/javascript">
    function doOnBlur(event, elem){
    var k = event.keyCode;
    if(k == 37 || k == 38 || k ==39 || k ==40 || k == 8 || k == 46){
    return false;
    }
    elem.value = elem.value.replace(/[^\d\.]/g, '');
    }
    </script>
    </head><body>
    <input id="wz1" type="text" onkeyup="doOnBlur(event, this);" />
    </body>
    </html>