文本框
<html:text property="scjcsfk" onfocus="this.select()" maxlength="12" onkeypress="return isMoney(this);return numberPass();" style="ime-mode:disabled" styleClass="Number" onchange="javascript:formatControl2Precision(this);" />
此文本框已限制只能输入数字function isMoney(str)
{
   var money=str.value;
   var reg=/^\d+(\.\d+)?$/
   if(!reg.test(money))
   {
      alert("请输入正确金额");
      bm_a003Form.scjcsfk.value="";
      return false;
   }
}我需要一个脚本判断这个文本框中不能出现负数和两次小数点就成

解决方案 »

  1.   

    function isDigit(s)    
    {    
         var patrn=/^[0-9]{1,20}$/;    
         if (!patrn.exec(s)) return false   
         return true   
    }
      

  2.   

    var patrn=/^[0-9]{1,17}[.][0-9]{2}$/;
      

  3.   

    var pattern=/^([0-9]{1,9})+(\.[0-9]{0,2})?$/;
      

  4.   

    var patrn=/^[0-9]{1,9}(\.[0-9]{1,2})?$/;
      

  5.   

    问题我解决了。像5楼说的一样我放弃正则了
    function isMoney(str)
    {
       var money=str.value;
       var fushu=money.indexOf("-");
       if(fushu>-1)
       {
          alert("请输入正确金额");
          bm_a003Form.scjcsfk.value="";
          return false;
       }
       var count = 0;
       var pos=money.indexOf(".");
       while ( pos != -1 )
        {
           count++;
           pos = money.indexOf(".",pos+1);
        }
        if(count>1)
        {
           alert("请输入正确金额");
           bm_a003Form.scjcsfk.value="";
           return false;
        }}