strInput
1:输入总长度最大值为50.
2:strInput = 整数部分 + (小数部分)
3:整数部分格式要满足: 9,999,999
4:小数部分可以为:0.11111111111(在总长度范围内小数位不限)请问用正则表达式可以实现吗?
应该怎样做?
请指教!!!!!

解决方案 »

  1.   

    输入的时候没人会手动加那个逗号,这个千位分隔符应该是写代码format得到的so,需要判断的就是输入是否是50位以内的整数或者浮点数,这样用正则就很简单
      

  2.   

    you can do this job, do not valid, using the text's event "onchange" to add "," to users. if user type character out of "0-9" and "." do Something you want.
      

  3.   

    写了一个
    <html>
    <head>
    <title>验证函数</title>
    </head>
    <body>
    <script >
    function regex()
    {
    var str = document.form1.name1.value;
    var regex=/^((([1-9]{1,3})(,\d{3})*)|0)(\.\d+)?$/g;
    var result = regex.test(str);
    if((str.length<=50)&&result)
    alert("ok");
    else
    alert("no");
    }
    </script>
    <form name=form1>
    <input type=text name=name1 >
    <input type=button onClick="regex()" value="test">
    </form>
    </body>
    </html>
      

  4.   

    谢谢楼上
    <html>
    <head>
    <title>验证函数</title>
    </head>
    <body>
    <script >
    function regex()
    {
    var str = document.form1.name1.value;
    var regex=/^(([1-9](\d{1,2})?(,\d{3})*)|0)(\.\d+)?$/g;
    var result = regex.test(str);
    if((str.length<=50)&&result)
    alert("ok");
    else
    alert("no");
    }
    </script>
    <form name=form1>
    <input type=text name=name1 >
    <input type=button onClick="regex()" value="test">
    </form>
    </body>
    </html>
      

  5.   

    <html>
    <head>
    <title>验证函数</title>
    </head>
    <body>
    <script >
    function regex()
    {
    var str = document.form1.name1.value;
    var regex=/^((([1-9]\d{0,2})(,\d{3})*)|0)(\.\d+)?$/g;
    var result = regex.test(str);
    if((str.length<=50)&&result)
    alert("ok");
    else
    alert("no");
    }
    </script>
    <form name=form1>
    <input type=text name=name1 >
    <input type=button onClick="regex()" value="test">
    </form>
    </body>
    </html>