怎样用javascript验证输入的文本框是合法的货币类型,并用javascript对文本框进行运算(+,-,*,/)

解决方案 »

  1.   

    obj.Attributes.Add("onkeydown", "if(event.keyCode==13) {if(" + e.Item.Cells(i).Controls(1).ClientID + ".value =='') {alert('数量不能为空!')} else { if (isNaN(" + e.Item.Cells(i).Controls(1).ClientID + ".value)){" + e.Item.Cells(i).Controls(1).ClientID + ".value='';alert('数量请填写数字');return(false)}{event.keyCode=9}}")
      

  2.   

    function IsMoney(passedVal)
    {
                               var signa;
    var sign;
    var i;
    for(i=0;i<passedVal.length;i++)
    {
     if ((passedVal.charAt(i) == ".")||(passedVal.charAt(i) == ".")){i++;sign=sign+1;}
                                          if ((passedVal.charAt(i) == "¥"){i++;signa=signa+1;}  if (passedVal.charAt(i) < "0"){return false;}
    if (passedVal.charAt(i) > "9"){return false;}

    }
    if(sign>=2){return false;}
                                if(signa>=2){return false;}
    return true;
    }
      

  3.   

    货币校验:
    function IsDblNumber(passedVal)
    {
    var sign=0;
    var flag="¥";
    var price;
    if (passedVal == ""){return "";}
    //if(passedVal=="0"){return "¥00.00";}
    for (i=0; i<passedVal.length; i++)
    {
    if ((passedVal.charAt(i) == ".")||(passedVal.charAt(i) == ".")){i++;sign=sign+1;}
    if ((passedVal.charAt(i) == "$")||(passedVal.charAt(i) == "¥")){i++;}
    if (passedVal.charAt(i) < "0"){alert("输入数据不正确");return false;}
    if (passedVal.charAt(i) > "9"){alert("输入数据不正确");return false;}
    }
    //alert(passedVal);alert(parseInt(passedVal,10));

    if(sign>=2){alert("*输入数据不正确*");return false;}
    if(passedVal.charAt(0) == flag)
    price=passedVal.substr(1,passedVal.length-1); else 
    price=passedVal.substr(0,passedVal.length);
    //alert(price);
    if((parseInt(price,10)>9999)||(parseInt(price,10)<-9999)){alert("超出范围");return false;}
    pricelen=price.length;
    dotplace=price.indexOf(".");
    //alert(dotplace);
    if (dotplace==-1)
    {
    return(flag+price+".00")
    }
    if ((pricelen-dotplace)==2)
    {
    return(flag+price+"0");
    }
    if ((pricelen-dotplace)>=3)
    {
    if(parseInt(price.charAt(dotplace+3))>=5)
    {
    var temp=price.substr(0,dotplace+3)
      price=parseFloat(temp)+0.01;
      //var NewNumber=New Number(price);
      var tempp=price.toString(10)
      var dotp=tempp.indexOf(".");
      if(dotp==-1)return(flag+tempp+".00");
    return(flag+price);
    }

    return(flag+price.substr(0,dotplace+3))
    }
    return true;
    }
      

  4.   

    function validatemoney(money)
    {
        var i;
        var j;
        var number = 0 确定小数点出现的次数 
        var num;       
        for(i=0;i<money.length-1;i++)
        {
            if (i==0 && money.substring(0,1)=="-")
                num="ok";        for(j=0;j<=9;j++)
            {
               if (money.substring(i,1) == j)
                  num="ok";
            }        if (num=="ok")
                验证正确
            elseif (money.substring(i,1) == ".")
            {
                 number+=1;           小数点只能出现一次
                 if (nuber == 1)
                    验证正确
                 else
                    验证不通过
            }
            else
            {
                   验证不通过
            }
        }
    }
      

  5.   

    只要有一次验证不通过,则 money 不是货币型
      

  6.   

    function IsDblNumber(passedVal)
    {
    var sign=0;
    var flag="¥";
    var price;
    if (passedVal == ""){return "";}
    //if(passedVal=="0"){return "¥00.00";}
    for (i=0; i<passedVal.length; i++)
    {
    if ((passedVal.charAt(i) == ".")||(passedVal.charAt(i) == ".")){i++;sign=sign+1;}
    if ((passedVal.charAt(i) == "$")||(passedVal.charAt(i) == "¥")){i++;}
    if (passedVal.charAt(i) < "0"){alert("输入数据不正确");return false;}
    if (passedVal.charAt(i) > "9"){alert("输入数据不正确");return false;}
    }
    //alert(passedVal);alert(parseInt(passedVal,10));

    if(sign>=2){alert("*输入数据不正确*");return false;}
    if(passedVal.charAt(0) == flag)
    price=passedVal.substr(1,passedVal.length-1); else 
    price=passedVal.substr(0,passedVal.length);
    //alert(price);
    if((parseInt(price,10)>9999)||(parseInt(price,10)<-9999)){alert("超出范围");return false;}
    pricelen=price.length;
    dotplace=price.indexOf(".");
    //alert(dotplace);
    if (dotplace==-1)
    {
    return(flag+price+".00")
    }
    if ((pricelen-dotplace)==2)
    {
    return(flag+price+"0");
    }
    if ((pricelen-dotplace)>=3)
    {
    if(parseInt(price.charAt(dotplace+3))>=5)
    {
    var temp=price.substr(0,dotplace+3)
      price=parseFloat(temp)+0.01;
      //var NewNumber=New Number(price);
      var tempp=price.toString(10)
      var dotp=tempp.indexOf(".");
      if(dotp==-1)return(flag+tempp+".00");
    return(flag+price);
    }

    return(flag+price.substr(0,dotplace+3))
    }
    return true;
    }