TextBox控件只允许输入数字(转)

1.在Asp.Net TextBox 控件的 OnKeyPress 事件中指定输入键盘码必须为数字:
<asp:TextBox ID="TextBox" runat="server" onKeyUp="this.value=this.value.replace(/\D/g,'')"> </asp:TextBox>

2、我们可以根据onkeydown事件的event.keyCode即是ASCII Chart来判断字符或数字等。相关键盘key对应的ASCII码:




参考下面JavaScript代码:
View Code

<script type = "text/javascript">
function isNumeric(keyCode)
{
return ((keyCode >= 48 && keyCode <= 57) || keyCode == 8)
}
</script>
<script type = "text/javascript">
function isAlpha(keyCode)
{
return ((keyCode >= 65 && keyCode <= 90) || keyCode == 8)
}
</script>
<script type = "text/javascript">
function isAlphaOrNumeric(keyCode)
{
return ((keyCode >= 48 && keyCode <= 57) || (keyCode >= 65 && keyCode <= 90) || keyCode == 8)
}
</script>



例子,用户只能输入字符和数字,并使用onpaste事件,不能粘贴。
<asp:TextBox ID="TextBox1" runat="server" onkeydown = "return isAlphaOrNumeric(event.keyCode);" onpaste = "return false;"></asp:TextBox>

3、验证用户输入的是否为整型。你可以使用下面正则表达式:
<asp:TextBox ID="txtWorkNumber" runat="server" onkeyup="value=value.replace(/[^\d]/g,'')"
onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d]/g,''))"
CssClass="textbox"></asp:TextBox>



或者使用asp.net验证Comparevalidator,有一个Type="Integer",如:
<asp:CompareValidator ID="CompareValidator3" runat="server" ControlToValidate="txtNumber"
Type="Integer" Operator="dataTypeCheck" ErrorMessage="招聘人数栏位,非有效数值!"></asp:CompareValidator>

原文地址:https://www.cnblogs.com/wenghaowen/p/2987304.html