用isNaN(表达式)来判断!var s="hell0";
var j=parseInt(s);
if(isNaN(j)){
  alert("This is not a number");
}
else{
  alert("This is a number");
}

解决方案 »

  1.   

    <input onblur="alert('是否为数字\?\r\n '+ (this.value.match(/\D/)==null))">
      

  2.   

    var j=parseInt(s);
    if(isNaN(j)){
      alert("This is not a number");
    }
    else{
      alert("This is a number");
      if( (j>=10)&&(j<=20) )
         alert("ok!")
      else
         alert("error!");
    }
      

  3.   


    非负:<input onblur="checkDecimalInput(this)"><br>
    [-1,1]:<input onblur="checkDecimalInput(this,-1.000001,1.0000001)"><br>
    (-1,1):<input onblur="checkDecimalInput(this,-1,1)"><br><script language=javascript>function checkDecimalInput(obj,min,max) //作用是将输入变成Number(10,6)格式,默认范围是非负。
    {
    obj.value=obj.value.replace(/ /g,""); //去空格
    if (obj.value=="") return false;
    if (obj.value.substr(0,1)==".") obj.value="0"+obj.value;
    if (obj.value.substr(0,2)=="-.") obj.value=obj.value.replace("-.","-0.");
    var r, re;
    var s = obj.value ;
    var theMin=-0.0000001;
    var theMax=10000000000;
    if (min!=null) theMin=min;
    if (max!=null) theMax=max;
    if (s.length==0) return false;
    re = /-{0,1}\d{1,10}\.{0,1}\d{0,6}/i;
    r = s.match(re); //取数
    if (r==null)
    {
    obj.value="";
    alert("!!!!请注意:\n您刚才输入的数值不正确,我们已进行了清除。");
    obj.focus();
    return false;

    if ((r>=theMax)||(r<=theMin)) 
    {
    obj.value="";
    alert("!!!!请注意:\n您刚才输入的数值超出允许范围,我们已进行了清除。");
    obj.focus();
    return false;

    if ( r!=s) 
    {
    obj.value=r;
    alert("!!!!请注意:\n您刚才输入的数值不正确,我们已进行了修改。");
    obj.select();
    obj.focus();
    return false;
    }
    obj.value=r;
    }
    </script>