日期:2014-05-16  浏览次数:20364 次

JS验证求救,在线waiting...
input控件,录入数字(可包含小数点)

要求整数长度为5位,当录入整数部分时,录入5位后就不能录入了,但这时可以录入“.”,录入了“.”以后还可以录入两位数字。

不能录入非数字字符.

------解决方案--------------------
试试这个正则:/^\d{5}(\.\d{2})?$/g
------解决方案--------------------
HTML code

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
 <head>
 </head>
 <body>
  <input type='text' onkeyup='tes(this)' />
  <script type="text/javascript">
      var exs = "";
    var pt1 = /^\d{0,5}$/;
    var pt2 = /^\d{0,5}\.\d{0,2}$/;
    function tes(obj){
        if(obj.value.length<=5){
            if(pt1.exec(obj.value)!=null){
                exs = obj.value;
            }else{
                obj.value=exs;
            }
        }else{
            if(pt2.exec(obj.value)!=null){
                exs = obj.value;
            }else{
                obj.value=exs;
            }
        }
    }
  </script>
 </body>
</html>