<input type="text" id="textbox" onblur="test()"/><script language="javascript">
<!--
function test()
{
if(/^-?\d+(\.\d+)?$/.test(textbox.value))
{
   textbox.value = parseFloat(textbox.value).toFixed(2);
}
else
{
alert('非法!');
}
}
//-->
</script>

解决方案 »

  1.   

    <input type="text" id="textbox" onblur="if(!isNaN(this.value))this.value=parseFloat(this.value).toFixed(2);"/>
      

  2.   

    <html>
    <SCRIPT language=Jscript>
     function isfloat(str){
       return (/^(\+|\-)?(\d)+(\.)?(\d)*$/g).test(str);
     }
     function f(tp){
        if(isfloat(tp.value)){tp.value=Number(tp.value).toFixed(2);
        }else{alert("格式出错");tp.value="";tp.focus();
        }
     }</SCRIPT>
    <body >
    金额<input type="text" id="aa" onblur="f(this);"><input type="text" id="bb">
    </body>
    </html>
      

  3.   

    <HTML>
    <HEAD>
    <TITLE></TITLE>
    <script language=javascript>
      function fmt(obj){
        obj.value = (obj.value != "")?fmtNumber(obj.value*1, 2):""
      }
      function numCheck(obj)
      {
        var s = String.fromCharCode(event.keyCode)
        if (s == "." || s=="-")
        {
          if (obj.value.indexOf(".")>-1 || obj.value.indexOf("-")>-1)
            return false
          if (s=="-")
          {
            if (getCurPosition(obj.value.length)!=0)
              return false
            else
              return true
          }
          return true
        }
        return !isNaN(s)
    }
      
      //some code from meizz's files
      function getCurPosition(len)
      {
        var pos = 0
        var rng=document.selection.createRange();
        rng.moveEnd("character",len);
        try{
          pos=len-rng.text.length
        }catch(e){}
        return pos
      }
     </script>
    <script language="VBScript">
    Function fmtNumber(num, n)
    fmtNumber = FormatNumber(num, n, 0, 0, 0)
    End Function
    </script>
    </HEAD>
    <BODY>
    <input name="txt1" value="" style="imeMode:disabled" onfocusout=fmt(this) onkeypress="return numCheck(this)">
    <input name="txt2" value="" style="imeMode:disabled" onfocusout=fmt(this) onkeypress="return numCheck(this)"></BODY>
    </HTML>
      

  4.   

    numCheck()逻辑有点问题,改一下
    --------------------
    function numCheck(obj)
    {
        var s = String.fromCharCode(event.keyCode)
        if (s == ".")
        {
          if (obj.value.indexOf(".")>-1)
            return false
          else
            return true
        }
        if (s=="-")
        {
          if (obj.value.indexOf("-")>-1)
            return false
          
          if (getCurPosition(obj)!=0)
          {
            return false
          }
          else
            return true
        }    return !isNaN(s)
    }
      

  5.   

    getCurPosition()也改一下
    ------------------
      //some code from meizz's files
      function getCurPosition(obj)
      {
        var len = obj.value.length
        var pos = 0
        var rng=document.selection.createRange();
        rng.moveEnd("character",len);
        try{
          pos=len-rng.text.length
        }catch(e){}
        return pos
      }