asp.net

C# textbox限制输入 —— 整理

2024-04-24

C# textbox限制输入 ——整理
整理记录,用到TextBox的KeyPress函数


this.TextBox.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.TextBoxKeyPressOnlyNumber);


/// <summary>

/// Only number input for textbox 公用方法

/// </summary>

/// <param name="sender"></param>

/// <param name="e"></param>

private void TextBoxKeyPressOnlyNumber(object sender, KeyPressEventArgs e)

{

    if (e.KeyChar != '\b')//这是允许输入退格键

    {

        if ((e.KeyChar < '0') || (e.KeyChar > '9'))//这是允许输入0-9数字

        {

            e.Handled = true;

        }

        if (e.KeyChar == 0x20)

            e.KeyChar = (char)0;  //禁止空格键

    }

}



/// <summary>

/// Only Alphabet input for textbox,只允许输入英文字母

/// </summary>

/// <param name="sender"></param>

/// <param name="e"></param>

private void TextBoxKeyPressOnlyAlphabet(object sender, KeyPressEventArgs e)

{

    /*  ^[A-Za-z]+$ //匹配由26个英文字母组成的字符串

     *  ^[A-Z]+$ //匹配由26个英文字母的大写组成的字符串

     *  ^[a-z]+$ //匹配由26个英文字母的小写组成的字符串

     *  ^[A-Za-z0-9]+$ //匹配由数字和26个英文字母组成的字符串

     *  ^\w+$ //匹配由数字、26个英文字母或者下划线组成的字符串

     *  Regex.IsMatch() */

    

    if (e.KeyChar != '\b')//这是允许输入退格键

    {

        if (!char.IsLetter(e.KeyChar))//Imemode = disable(屏蔽输入法),只允许输入英文字母

        {

            e.Handled = true;

        }

        if (e.KeyChar == 0x20)

            e.KeyChar = (char)0;  //禁止空格键

    }

}