C#中实现文本框只能输入数字
代码
文本框的keypress事件:
在你所要输入的文本框(比如txtNum)的KeyPress事件编写如下代码:
private void txtNum_KeyPress(object sender, KeyPressEventArgs e)
{
if (!char.IsNumber(e.KeyChar) && e.KeyChar!=(char)Keys.Back)
{
e.Handled = true;
}
}
用方法实现: 在TextChanged事件中^[0-9]{1,}$ 正则表达式
Regex r = new Regex("^[0-9]{1,}$");
if(!r.IsMatch(textBox1.Text))
{
Messagebox.Show("请输入数字");
}
文本框onkeydown事件:
txt1.Attributes.Add("onkeydown", "if(!((event.keyCode>=48&&event.keyCode<=57)||(event.keyCode>=96&&event.keyCode<=105)) && (event.keyCode!=8) &&
(event.keyCode!=9) && (event.keyCode!=13) && (event.keyCode!=46)){alert('请输入数字');return false;}");
文本框KeyPress事件:
private void txtNumber_KeyPress(object sender, System.Windows.Forms.KeyPressEventArgs e)
{
if (e.KeyChar >= '0' && e.KeyChar <= '9')
{
e.Handled = false;
return;
}
e.Handled = true;
}
利用正则表达式限制:
利用正则表达式限制网页表单里的文本框输入内容:
用正则表达式限制只能输入中文:onkeyup="value=value.replace(/[^\u4E00-\u9FA5]/g,'')" onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/
[^\u4E00-\u9FA5]/g,''))"
1.用正则表达式限制只能输入全角字符: onkeyup="value=value.replace(/[^\uFF00-\uFFFF]/g,'')" onbeforepaste="clipboardData.setData('text',clipboardData.getData
('text').replace(/[^\uFF00-\uFFFF]/g,''))"
2.用正则表达式限制只能输入数字:onkeyup="value=value.replace(/[^\d]/g,'') "onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d]/g,''))"
3.用正则表达式限制只能输入数字和英文:onkeyup="value=value.replace(/[\W]/g,'') "onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/
[^\d]/g,''))"
文本框金额输入: <asp:RegularExpressionValidator ID="RegularExpressionValidator1" runat="server" ControlToValidate="txtAmount"
Display="None" ErrorMessage="收款金额只能是数字,最多4位小数" ValidationExpression="^[0-9]+(\.[0-9]{0,4})?$"></asp:RegularExpressionValidator>
作者:月亮#
说明:1、本博客文章部分来源于互联网,如有异议,请及时联系本人:QQ:817647
2、如果要转载本文,请在文章页面明显位置给出原文连接,多谢合作。
2、如果要转载本文,请在文章页面明显位置给出原文连接,多谢合作。


浙公网安备 33010602011771号