如何限制我的文本框文本长度只使用regex使用9位数字

本文关键字:文本 regex 使用 9位 数字 我的 何限制 | 更新日期: 2023-09-27 18:30:01

  • string pattern=@"^[0-9]{0,9}$"
  • return Regex.IsMatch(input,regFormat)
  • 我在keydown事件中使用了上面的模式。请帮助我如何使用regex验证我的textbox.textlength,使其最大为9位,并且只使用数字而不使用字符串

如何限制我的文本框文本长度只使用regex使用9位数字

如果希望正则表达式限制为9个字符,可以使用大括号,即

/^[0-9]{0,9}$/

要使TextBox只包含9个字符,可以指定其MaxLength属性:

myTextBox.MaxLength = 9;

然后,如果您只希望用户能够输入数字,请处理TextChanged事件:

myTextBox_TextChanged(object sender, EventArgs e)
{
    if (Regex.IsMatch("[^0-9]",myTextBox.Text)
        myTextBox.Text.Remove(myTextBox.Length - 1);
}

这将检查TextBox的最后一个字符是否不是数字,如果不是数字,则将其删除。

没有regex,我找到了解决这个问题的方法。下面的代码在我的按键事件上工作得很棒

else if (!(e.KeyValue >= 48 && e.KeyValue <= 57) || textBox1.Text.Length == 9)
{
   e.SuppressKeyPress = !(e.KeyCode == Keys.Back || e.KeyCode == Keys.Left || e.KeyCode == Keys.Right);
}