我在数据库中定义的是numeric(13,2),请问我在界面上的一个TextBox中怎样来验证用户输入的是合法的,谢谢。
注意:1、界面输入的整数部分不能超过13位,但是如果有小数点则整个长度可以超过13位;如:12345678901234(整数部分已超过13位)非法;1234567890123.45合法。
      2、如果输入0.1或.1也应该是合法的(在数据库里允许这样输);请问该怎么验证,谢谢!

解决方案 »

  1.   

    用JS,^(0|[1-9]\d*)(\.\d{1,2})?$
    <script language='javascript' type='text/javascript'>
    function CheckInput()
    {
       
    if(!document.getElementById('<%=paytxt.ClientID %>').value)
            {
                alert("错误:必须填写价格!");
                return false;
            }
            else
            {
              var pay=document.getElementById('<%=paytxt.ClientID %>').value;
              if(pay.match(/^(0|[1-9]\d*)(\.\d{1,2})?$/) == null)
             {
              alert("错误:价格必须是数字!");
              return false;
             }
            }
    </script>
      

  2.   

    库中设成 numeric(13,2),还想用整数大于11位?
    错解numeric(13,2)了吧!
      

  3.   

    to Ivony 对,我写错了。numeric(13,2)应该是总长度13,小数2位,即整数只能有11位。Sorry
    to flyin2006,luck0235谢谢2位。