验证c#.net中的文本框

本文关键字:文本 net 验证 | 更新日期: 2023-09-27 18:11:02

嗨,我想设置我的文本框只与字母我已经尝试了下面的代码,它的工作良好的键盘键。但是,如果我按numpad键数字,它是接受数字,谁能帮助我,非常感激,谢谢。

bool isvalid = true;
    private void textBox1_KeyDown(object sender, KeyEventArgs e)
    {
        if ((e.KeyValue <65 || e.KeyValue > 90) && (e.KeyValue<97||e.KeyValue>122) e.KeyValue != 8))
        {
            isvalid = false;
            MessageBox.Show("only alphabets");
        }
        else
        {
            isvalid = true;
        }
    }
    private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
    {
        if (isvalid == false)
        {
            e.Handled = true;
        }
        else
        {
            e.Handled = false;
        }
    }

验证c#.net中的文本框

使用Regex.IsMatch属性

可以使用以下代码:

private void txtAlphaOnly_TextChanged(object sender, EventArgs e)
{
    if (System.Text.RegularExpressions.Regex.IsMatch("^[a-zA-Z]", txtAlphaOnly.Text))
    {
        MessageBox.Show("Alphabets Only Allowed");            
    }
}

MSDN:

http://msdn.microsoft.com/en-IN/library/system.text.regularexpressions.regex.ismatch.aspx

在KeyDown事件中,您将在e.p ekeyvalue上得到的是键盘上的键的代码,而不是字符,参见键枚举。这个条件对A-Z和A-Z都成立。

 (e.KeyValue >= Keys.A && e.KeyValue <= Keys.Z)