【发布时间】:2014-10-08 15:00:28
【问题描述】:
我正在尝试在 JavaScript + ASP.NET Web 表单中执行正则表达式,以验证 TextBox 仅接受十进制正数,最多 18 位和 2 位小数。
<script type="text/javascript">
$(document).ready(function (e) {
$("#<%=txtQtt.ClientID%>").bind('keypress', function (event) {
var regex = new RegExp("^[0-9]{1,18}(?:\.[0-9]{0,2})?$");
var key = String.fromCharCode(!event.charCode ? event.which : event.charCode);
if (!regex.test(key)) {
event.preventDefault();
return false;
}
});
});
</script>
<span class="label100">Quantity:</span>
<asp:TextBox ID="txtQtt" runat="server" CssClass="txt200" MaxLength="20"></asp:TextBox>
代码“有效”(它只接受数字),但不允许我输入点,我希望他只接受只接受一个点。
我做错了什么?
【问题讨论】:
标签: javascript c# asp.net regex