//判断字符串,只允许数字,正负均可,小数也可以
function chkN(str){
  if (str.search(/^(-|\+)?\d+(\.\d+)?$/) != -1){
return true;
  }
  else{
return false;
  }
}
  //检查是否为正数   
function chkNN(str){     if (str.search(/^\d+(\.\d+)?$/) != -1){
return true;
  }
  else{
return false;
  }}

解决方案 »

  1.   

    剩下的小数点后两位,补0等,就用script很好做了。
      

  2.   

    a=0.003
    a=a& "00"
    a=left(len(a)-2)
      

  3.   

    yizia(椅子) 他说得差不多了,自已在琢磨琢磨...
      

  4.   

    是当输入两位小数以后,不让再输入了。onkeypress事件后,调用函数校验即可。
      

  5.   

    最好在限制下整数部分,给你个例子,里面是3位整数,两位小数,单纯一个正则在输入的时候应该是实现不了,还有下面的例子中我偷懒了,把拖拽和粘帖事件屏蔽掉了。
    <input onkeypress="return /^[1-9]\d{2}/.test(this.value)?(/\./.test(this.value)?(/\.\d{2}/.test(this.value)?(event.keyCode==0):(event.keyCode>=48&&event.keyCode<=57)):(event.keyCode==46)):(event.keyCode>=48&&event.keyCode<=57)"
     onpaste="return false" ondragenter="return false" style="ime-mode:disabled">
      

  6.   

    超长版,呵呵
    ------------------------------------------------------
    <input type="text" id="text1"><script language="javascript">
    var obj = document.getElementById("text1");function ft(obj){
    s="||||||||||||||";
    clipboardData.setData('text',s); 
    obj.focus(); 
    document.execCommand('paste'); 
    var arr=obj.value.split(s); 
    obj.value=arr[1];
    obj.document.selection.empty();
    obj.document.selection.createRange().select();
    obj.focus();
    clipboardData.setData('text',arr[0]); 
    document.execCommand('paste'); 
    return arr[0].length;
    }obj.onkeydown=function(){
      var kc=event.keyCode;
      if(!(kc>=45 && kc<=57) && !(kc>=96 && kc<=105) && kc!=190 && kc!=110 && kc!=189 && kc!=109 && kc!=8 && kc!=9 && !(kc>=35 && kc<=40)){
       event.returnValue=false;
       return;
      }
      switch(kc){
       case 190:
       case 110:
       if(obj.value.indexOf(".")>-1)event.returnValue=false;
       break;
       case 189:
       case 109:
       obj.value=obj.value*-1;
       event.returnValue=false;
       break;
      }
      if( (kc>=48 && kc<=96) || (kc>=57 && kc<=105)){
    if(obj.value.indexOf(".")<0)return;
    if(ft(obj)>obj.value.indexOf(".")){
    if(obj.value.length-obj.value.indexOf(".")>=3)event.returnValue=false;

      }
    }obj.onblur=function(){
    if(obj.value.indexOf(".")<0){
    obj.value=obj.value+".00";
    }
    else{
    obj.value=obj.value.substring(0,obj.value.indexOf(".")+1) + (obj.value.substring(obj.value.indexOf(".")+1) +"00").substring(0,2);
    }
    }
    </script>
      

  7.   

    不是正则,不知满足楼主要求不
    <script language="javascript" type="text/javascript">
    <!--//
    function keyIsNumber(keycode)
    {
    if (((keycode > 47)&&(keycode < 58))||(keycode > 95 && keycode <106)||(keycode == 8)||(keycode == 46)||(keycode == 110))
    {
    return true;
    }
    else
    {
    return false;
    }
    }
    //-->
    </script>
    <script language="javascript" event="onkeydown" for="document">
            if(event.srcElement.type == "text")
            {
                  if(!keyIsNumber(event.keyCode)||((event.srcElement.value.indexOf(".") > -1)&&(event.keyCode == 110||(event.srcElement.value.length-event.srcElement.value.indexOf(".") == 3)&&event.keyCode != 8)))
                  {
                       return false;
                  }
            }
    </script><input type="text" onchange="this.value=formatNumber(this.value)" />