日期:2014-05-18  浏览次数:20478 次

请高手帮我看一个JavaScript函数的问题。请帮忙解决
我下面这个函数目的是为了验证和限制用户的输入必须为数字,而且数字的范围不能超出一定的范围。下面这个函数出现的问题是:我在现在在“文本框”里不论输入的是数字还是其它字符,都会弹出警告框“同志:请输入数字!”
不知是我正则有问题还是怎么了,反正请高手解决。

        function   simulateEvent()
        {
                showArea();
                var   outPortValue=document.getElementById( "txtOutPort ").value;
                var   digitalValue=document.getElementById( "txtDigital ").value;
                var   simulateValue=document.getElementById( "txtSimulate ").value;
                //计算卡片数量             注意:此机型8路普通模拟卡上面可以附一张8路扩展普通模拟卡
                var   fourOutCard,eightOutCard,sixteenDigitalCard,eightSimulateCard;            
                eightOutCard=Math.floor(outPortValue%8> 4?outPortValue/8+1:outPortValue/8);
                fourOutCard=Math.floor(outPortValue%8> 0&&outPortValue%8 <=4?1:0);
sixteenDigitalCard=Math.floor(digitalValue%16> 0?digitalValue/16+1:digitalValue/16);
eightSimulateCard=Math.floor(simulateValue%16> 0?simulateValue/16+1:simulateValue/16);
var   maxSimulate=(16-eightOutCard-fourOutCard-sixteenDigitalCard)*16;
var   reg=/^\d{*}&/;
if(!reg.test(simulateValue))
{
        window.alert( "同志:请输入数字! ")
        return   false;
}
else   if(simulateValue> maxSimulate)
{
        window.alert( "模拟分机数量不能超出0- "+maxSimulate+ "的范围! ")
        return   false;
}
        }

------解决方案--------------------
if(!reg.test(simulateValue))
---》
if (!isNaN(simulateValue))