簡體   English   中英

如何僅使用正則表達式來限制文本框的文本長度為9位數字

[英]How can I limit my textbox text length takes 9 digits only using regex

  • 字符串模式= @“ ^ [0-9] {0,9} $”;
  • 返回Regex.IsMatch(input,regFormat);
  • 我在keydown事件上使用上述模式,請幫助我如何使用正則表達式將我的textbox.textlength驗證為最多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的最后一個字符是否不是數字,如果不是數字,則將其刪除。

沒有正則表達式,我找到了擺脫這個問題的出路。 下面的代碼在我的keydown事件上很棒

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);
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM