function CheckMoney(Field, FieldTitle)
{
if (Field.value != "")
{
DotNum = 0;
for (i = 0; i < Field.value.length;  i++)
{
ch = Field.value.charAt(i);

if ((ch < '0' || ch > '9') && ch != '.' && ch != '-')
{
alert("\"" + FieldTitle + "\"中只能输入数字.");
Field.focus();
return false;
}

if (ch == '.')
{
if (DotNum > 0)
{
alert("\"" + FieldTitle + "\"中只能输入一个小数点.");
Field.focus();
DotNum++;
return false;
}
}
}
}

return true;
}请大家看看什么地方错了。急了一个星期了!在线等啊。

解决方案 »

  1.   

    function CheckMoney(str){   
      return   (/^(\+|\-)?(\d)+(\.)?(\d)*$/g).test(str);   

      

  2.   

    <input type="text" onKeyUp="this.value=this.value.replace(/[^\.\d]/g,'');if(this.value.split('.').length>2){this.value=this.value.split('.')[0]+'.'+this.value.split('.')[1]}">
      

  3.   


    //----------------------------------------------------------
    // 金额域输入控制函数
    // 示例:
    // 1.控制金额域只能输入合法的金额数值(不含角分)
    //  <input type="text" name="a" value=""  onKeyUp="inputMoney3(this,0)"  onblur="inputMoney(this,0)">
    // 2.控制金额域只能输入合法的金额数值(含角分)
    //  <input type="text" name="a" value=""  onKeyUp="inputMoney3(this,1)"  onblur="inputMoney(this,1)">
    //  注意:在引用本文件前,请确定已经引用了Liana 3.0 系统JS公用函数库 (public.js)
    //  author : lixuefeng 
    //  date:2005-10-26
    //  修改历史:
    //  2005-10-29:增加控制光标移动的功能函数,函数inputMoney3(obj,flg)中添加了该控制。
    //  由<input type="text" name="a" value=""  onKeyUp="inputMoney(this,1)"  onblur="inputMoney(this,1)">
    //  改为:
    //  <input type="text" name="a" value=""  onKeyUp="inputMoney3(this,1)"  onblur="inputMoney(this,1)">
    //  可消除光标不能通过键盘移动的bug和不能在金额中间连续输入数字的bug
    //  2005-11-08:控制整数位不大于12位。
    //----------------------------------------------------------//----------------------------------------------------------
    // 检查变量是否是合法的金额
    // 返回值:
    // true: 合法
    // false: 不合法
    //----------------------------------------------------------
    function moneyCheck(str) { 
    var length1 , i , j;
    var string1="";  
    str = javaTrim(str);
    string1=str;
    length1 = string1.length;
    if (str.charAt(0)=="0" ){
    if (length1 == 2){
    if (!(str.charAt(1)==".")){
            //alert("金额首位不能为0,请重新填写!");
            return(false);
        }
    }
        }
        if(str.charAt(0)==".")
        return false;
    j=0;
    for (i = 0 ; i < length1 ; i++) {  //判断每位数字
    if(isNaN(parseInt(str.charAt(i),10)))  {
    if(str.charAt(i) != "."){
    return(false); 

    else{
    j++;
    if(length1 - i > 3 ){
    return(false);}
    }
      }
    }
    if(j > 1) {
    return(false);
    }
    if(str.length>12 ){//判断整数位是否大于12位
    var intlen = str.indexOf(".");
    if(intlen<0 || intlen>12){
    return (false);
    }
    }

    return (true);
    }
      

  4.   

    function CheckMoney(str){   
      return   (/^(\+|\-)?(\d)+(\.)?(\d)*$/g).test(str);   
    } ===========================================
    这个正则不准确啊。
      

  5.   

    var patrn=/^(\+)?(\d)+(\.)?(\d)*$/;
    if(!patrn.test(unit_price))
    {
    alert("价格格式不正确,请检测!");
    return;
    }我试过可以用~!