<script>
function isNumber(str,digits) 
{
   //var  re=/^(-|\+)?\d+(\.\d+)?$/;
   var re = new RegExp("^\\d*\\.?\\d{"+digits+"}$");
   if(!re.test(str)){alert("不符合")}
}
</script>
<input type=text name=bao>
<input type=button  onclick="isNumber(document.all.bao.value,2)">

解决方案 »

  1.   

    你这个有理数的正则也不是很正确: var re=/^(\+|-)?\d+(\.\d+)?$/;
    function IsNumeric(expression,digits)
    {
      var re = new RegExp("^(\\+|-)?\\d+(\\.\\d{"+digits +"})$");
      return re.test(expression);
    }
    alert(IsNumeric("+123456.789", 3));
      

  2.   

    thank u,另外楼上的大侠,能不能提供下其他的正则表达式?
      

  3.   

    好好看看这个贴子.
    http://expert.csdn.net/Expert/TopicView1.asp?id=2489689