我已经解决了!
原来javascript没有int类型的
老是何java混淆。
以上的程序把
    int dot = str.indexOf(".");
    int dot_last = str.lastIndexOf(".");
    
两行中的 int 改成 var 就行了。

解决方案 »

  1.   

    原来的程序有一些问题,现在又做了一些修改。function isDecimal(str,i,j){
    var dot = str.indexOf(".");
    var dot_last = str.lastIndexOf(".");
    var str_f = str.substring(0,dot);
    var str_b = str.substring(dot+1);

    if(isNaN(str)){ 
    alert("不是合法的数字");
    return false;
    }
    else if(str!="" && str.length>1 && str.charAt(0)==0){
    alert("不是合法的整数!");
    return false;
    }
    else{
    if(dot==0 || dot_last==0){
    alert("不是合法的数字");
    return false;
    }
    else if(dot==-1 && str.length>i){
    alert("整数位不能超过"+i+"位");
    return false;
    }
    else{
    if(str_f.length>i){
    alert("整数位不能超过"+i+"位");
    return false;
    }
    if(dot!=-1 && str_b.length>j){
    alert("小数位不能超过"+j+"位");
    return false;
    }
    }
    }
    return true;
    }