isNaN 方法
返回一个 Boolean 值,指明提供的值是否是保留值 NaN (不是数字)。 isNaN(numValue)必选项 numvalue 参数为要检查是否为 NAN 的值。 说明
如果值是 NaN, 那么 isNaN 函数返回 true ,否则返回 false 。 使用这个函数的典型情况是检查 parseInt 和 parseFloat 方法的返回值。 还有一种办法,变量可以与它自身进行比较。 如果比较的结果不等,那么它就是 NaN 。 这是因为 NaN 是唯一与自身不等的值

解决方案 »

  1.   

    vbs为IsNumeric 函数
    ----------------------
    IsNumeric 函数  语言参考 
    起始页 | 版本 1 
     请参阅 
    --------------------------------------------------------------------------------描述
    返回 Boolean 值指明表达式的值是否为数字。
    语法
    IsNumeric(expression)
    expression 参数可以是任意表达式。说明
    如果整个 expression 被识别为数字,IsNumeric 函数返回 True;否则函数返回 False。 如果 expression 是日期表达式
    ,IsNumeric 函数返回 False。下面的示例利用 IsNumeric 函数决定变量是否可以作为数值: Dim MyVar, MyCheck
    MyVar = 53                    '赋值。
    MyCheck = IsNumeric(MyVar)    ' 返回 True。MyVar = "459.95"              ' 赋值。
    MyCheck = IsNumeric(MyVar)    ' 返回True。MyVar = "45 Help"             ' 赋值。
    MyCheck = IsNumeric(MyVar)    ' 返回 False。
      

  2.   

    var str = "1233-4567890-123"
    var re = /^\d{4}-\d{7}-\d{3}$/;
    if (re.test(str))
     alert("num!");
    else
     alert("is not num!");
      

  3.   

    js中没有 调vbs中的isdate函数
      

  4.   

    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    <title>无标题文档</title>
    <script language="JavaScript">
    去掉空格
    function Trim(str){
     if(str.charAt(0) == " "){
      str = str.slice(1);
      str = Trim(str); 
     }
     return str;
    }
    判断是否是空
    function isEmpty(pObj,errMsg){
     var obj = eval(pObj);
     if( obj == null || Trim(obj.value) == ""){
      if (errMsg == null || errMsg =="")
       alert("输入为空!");
      else
       alert(errMsg); 
      obj.focus(); 
      return false;
     }
     return true;
    }
    判断是否是数字
    function isNumber(pObj,errMsg){
     var obj = eval(pObj);
     strRef = "1234567890";
     if(!isEmpty(pObj,errMsg))return false;
     for (i=0;i<obj.value.length;i++) {
      tempChar= obj.value.substring(i,i+1);
      if (strRef.indexOf(tempChar,0)==-1) {
       if (errMsg == null || errMsg =="")
        alert("数据不符合要求,请检查");
       else
        alert(errMsg);
       if(obj.type=="text") 
        obj.focus(); 
       return false; 
      }
     }
     return true;
    }//判断是否是数字,数字可以为负数
    function isNegative(pObj,errMsg){
     var obj = eval(pObj);
     strRef = "1234567890-";
     if(!isEmpty(pObj,errMsg))return false;
     for (i=0;i<obj.value.length;i++) {
      tempChar= obj.value.substring(i,i+1);
      if (strRef.indexOf(tempChar,0)==-1) {
       if (errMsg == null || errMsg =="")
        alert("数据不符合要求,请检查");
       else
        alert(errMsg);
       if(obj.type=="text") 
        obj.focus(); 
       return false; 
      }else{
       if(i>0){
        if(obj.value.substring(i,i+1)=="-"){
         if (errMsg == null || errMsg =="")
          alert("数据不符合要求,请检查");
         else
          alert(errMsg);   
         if(obj.type=="text") 
         obj.focus(); 
         return false; 
        }
       }
      }
     }
     return true;
    }判断是否是钱的形式
    function isMoney(pObj,errMsg){
     var obj = eval(pObj);
     strRef = "1234567890.";
     if(!isEmpty(pObj,errMsg)) return false;
     for (i=0;i<obj.value.length;i++) {
      tempChar= obj.value.substring(i,i+1);
      if (strRef.indexOf(tempChar,0)==-1) {
       if (errMsg == null || errMsg =="")
        alert("数据不符合要求,请检查");
       else
        alert(errMsg);   
       if(obj.type=="text") 
        obj.focus(); 
       return false; 
      }else{
       tempLen=obj.value.indexOf(".");
       if(tempLen!=-1){
        strLen=obj.value.substring(tempLen+1,obj.value.length);
        if(strLen.length>2){
         if (errMsg == null || errMsg =="")
          alert("数据不符合要求,请检查");
         else
          alert(errMsg);   
         if(obj.type=="text") 
         obj.focus(); 
         return false; 
        }
       }
      }
     }
     return true;
    }function isLeapYear(year) 

     if((year%4==0&&year%100!=0)||(year%400==0)) 
     { 
     return true; 
     }  
     return false; 
    } //判断时间是否正确function isDate(checktext){
    var datetime;
    var year,month,day;
    var gone,gtwo;
    if(Trim(checktext.value)!=""){
     datetime=Trim(checktext.value);
     if(datetime.length==10){
      year=datetime.substring(0,4);
      if(isNaN(year)==true){
       alert("请输入日期!格式为(yyyy-mm-dd) \n例(2001-01-01)!");
       checktext.focus();
       return false;
      }
      gone=datetime.substring(4,5);
      month=datetime.substring(5,7);
      if(isNaN(month)==true){
       alert("请输入日期!格式为(yyyy-mm-dd) \n例(2001-01-01)!");
       checktext.focus();
       return false;
      }
      gtwo=datetime.substring(7,8);
      day=datetime.substring(8,10);
      if(isNaN(day)==true){
       alert("请输入日期!格式为(yyyy-mm-dd) \n例(2001-01-01)!");
       checktext.focus();
       return false;
      }
      if((gone=="-")&&(gtwo=="-")){
       if(month<1||month>12) { 
        alert("月份必须在01和12之间!"); 
        checktext.focus();
        return false; 
        } 
       if(day<1||day>31){ 
        alert("日期必须在01和31之间!");
        checktext.focus(); 
        return false; 
       }else{
        if(month==2){  
         if(isLeapYear(year)&&day>29){ 
           alert("二月份日期必须在01到29之间!"); 
           checktext.focus();
           return false; 
         }       
         if(!isLeapYear(year)&&day>28){ 
           alert("二月份日期必须在01到28之间!");
           checktext.focus(); 
           return false; 
         } 
        } 
        if((month==4||month==6||month==9||month==11)&&(day>30)){ 
         alert("在四,六,九,十一月份 \n日期必须在01到30之间!");
         checktext.focus(); 
         return false; 
        } 
       }
      }else{
       alert("请输入日期!格式为(yyyy-mm-dd) \n例(2001-01-01)");
       checktext.focus();
       return false;
      }
     }else{
      alert("请输入日期!格式为(yyyy-mm-dd) \n例(2001-01-01)");
      checktext.focus();
      return false;
     }
    }else{
     return true;
    }
    return true;
    }</script><script language="JavaScript">
    function checked(theform){
     if (!isEmpty(theform.aa,'请输入数据')) return false;
    }
    </script>
    </head>
    <body>
    <form method="post" action="" name="dd" onSubmit="return checked(this);">
    判断是否输入数据<input type="text" name="aa"><br>
    判断数量<input type="text" name="bb" onChange="return isNumber(this,'');"><br>判断数量,可以为负数<input type="text" name="dd" onChange="return isNegative(this,'');"><br>判断金额<input type="text" name="cc" onChange="return isMoney(this,'');"><br>判断时间<input type="text" name="ee" onChange="return isDate(this)"><br>
    <input type="submit" value="submit">
    </form>
    </body>
    </html>