下面代码实现限制只能是数字型,enableDot 表示是否可以有.出现(即有小数位)
但不能实现覆盖输入,即选中某段字符后,不能用新的字符给替换掉,如何解决?
/*
  函数实现输放框内只能输入数字型字符
enableDot 表示是否可以有.出现
*/
function retNum(keyCode,inputValue,maxNum,enableDot)
{
var nextNum;
  
if ((keyCode>=48&&keyCode<=57)||keyCode==46)
{
//
if(!enableDot && keyCode==46) return false;
if (inputValue!=null)
{
    if (inputValue.indexOf(".")!=-1&&keyCode==46) return false;
}

if (keyCode!=46)
{
nextNum = inputValue + String.fromCharCode(keyCode);
if (parseFloat(nextNum)>maxNum) return false;
}

}
else 
{
return false;
}
}

解决方案 »

  1.   

    可根据以下方法去修改, 因为我也不太清楚你具体要怎么做, 希望对你有帮助<input id="inp1" type="text" value="1234567890"> 
    <input id="inp2" type="text" value="9876543210"> 
    <input type="button" onclick="test()" value="确定"> 
    <script language="javascript"> 
    function test() 

      var r = document.selection.createRange(); 
      r.text = 5;

    </script>