/*只能输入数字,其他算错*/
function numericCheck(numberFiled)
{
nr1=numberFiled.value;
flg=0;
str="";
spc=""
arw="";
for (var i=0;i<nr1.length;i++)
{
cmp="0123456789"
tst=nr1.substring(i,i+1)
if (cmp.indexOf(tst)<0)
{
flg++;
str+=" "+tst;
spc+=tst;
arw+="^";
}else{
arw+="_";
}
}
if (flg!=0)
{
if (spc.indexOf(" ")>-1) 
{
str+="和空格";
}
alert("这里只接受数字,发现"
+flg+"个不可接受的字符:\n"+str);
return false;
}
}function numericCheck(numberFiled)
{
nr1=numberFiled.value;
flg=0;
for (var i=0;i<nr1.length;i++)
{
cmp="0123456789."
tst=nr1.substring(i,i+1)
if (cmp.indexOf(tst)<0) flg++;
}
if (flg!=0)
{
alert("请输入数字");
numberFiled.focus();
}
}

解决方案 »

  1.   

    if(isNaN(value)){
      alert("不是数字");
    }
      

  2.   

    判断整数的非常规方法:
    parseInt(str, 10).toString() == str
      

  3.   

    <script language=javascript>
    function checkIsNum(){
    if(document.form1.fieldName.value == "f_sxh" && isNaN(document.form1.fieldValue.value))
    {
    alert("error!")
    return false;
    }
    else

    return true;
    }
                 }
    </script>
    <form name=form1 action="test.htm" method=post OnSubmit="checkIsNum()">
              <select name="fieldName">
                <option value="f_sxh" selected>顺序号</option>
                <option value="f_flml">分类目录</option>
              </select> 
              <select name="fieldOp">
                <option value='like'>包含</option>
                <option value='='>等于</option>
                <option value='<>'>不等于</option>
                <option value='not like'>不包含</option>
              </select>
              <input type='text' name="fieldValue" size=13>
              <input type=submit value="查询" name="submit">
    </form>
    当我选择顺序号后,输入字符,为什么弹出对话框点确定后还继续运行呢?
      

  4.   

    OnSubmit="return checkIsNum()"
    要return的,呵呵,不然等于没有。