如何让文本框只接受数字字符(0-9)?如果它包含任何字母或符号,则给出错误消息。
答案 0 :(得分:4)
您可以抓住事件KeyDown
并检查e.KeyCode
是否为数字,如果需要,可以将其丢弃。
您可以尝试的另一件事是使用IsNumeric(txt.Text)
。
答案 1 :(得分:3)
这篇MSDN
文章将为您提供帮助:
答案 2 :(得分:1)
您可以使用正则表达式,例如:^(\ d {0,11})(。\ d {0,2})?$ 这将允许小数点左边的0-11位和小数点右边的0-2位。
如果您有Ajax控件,则可以使用Filtered Textbox Extender
<cc1:FilteredTextBoxExtender id="FilteredTextBoxExtender8" runat="server" TargetControlID="YourTextBox" FilterType="Custom,Numbers" ValidChars="." >
</cc1:FilteredTextBoxExtender>
或者您也可以尝试Marco的方法。
答案 3 :(得分:1)
这将只允许数字数据和后退空间
在Keypress
事件
if ((!char.IsNumber(e.KeyChar)) && !(e.KeyChar == (char)Keys.Back))
{
e.Handled = true;
}
答案 4 :(得分:1)
这里我的pincode文本框名称为pin码,ID为txtPinCode
您只需在文档函数启动下的代码顶部写下 让我们编写这段代码并检查一次
$( “#&LT;%= txtPincode.ClientID%&gt;” 中)数字();
感谢 akreddy
答案 5 :(得分:0)
If Asc(e.KeyChar) <> 13 AndAlso Asc(e.KeyChar) <> 8 AndAlso Not IsNumeric(e.KeyChar) Then
MessageBox.Show("Please enter numbers only")
e.Handled = True
End If