日期:2014-05-19  浏览次数:20430 次

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

请问该怎么验证,谢谢!

------解决方案--------------------
up
------解决方案--------------------
"^[0-9]{0,13}(\.[0-9]+)?$ ";
------解决方案--------------------
^\d{0,13}(\.\d{1,2})?$
------解决方案--------------------
楼上正确
------解决方案--------------------
13,2是指总长度不超过13,小数不超过2吧,整数和小数?
------解决方案--------------------
应该是总长度13,小数2位,即整数只能有11位。
------解决方案--------------------
顶!
------解决方案--------------------
用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>
------解决方案--------------------
库中设成 numeric(13,2),还想用整数大于11位?
错解numeric(13,2)了吧!
------解决方案--------------------
^\d{0,13}(\.\d{1,2})?$
------解决方案--------------------
路过。
------解决方案--------------------
改一下长度即可

^\d{0,11}(\.\d{1,2})?$