国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

C# 限制輸入為字母或數(shù)字以及長度

這篇具有很好參考價(jià)值的文章主要介紹了C# 限制輸入為字母或數(shù)字以及長度。希望對大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

日常開發(fā)過程中,驗(yàn)證字符的合法性一直是一個(gè)必不可少的步驟,以前都是在用戶輸入完再做判斷,不僅麻煩在不符合標(biāo)準(zhǔn)的時(shí)候還要提示用戶修改,體驗(yàn)很差,為什么不在輸入的時(shí)候加以限制呢?

WinformTextBox控件為例,這里提供兩種方案:

  • 通過字符匹配
  • 正則表達(dá)式

在用戶輸入時(shí)限制,所以選用KeyPress事件。

字符匹配

private void txt_Address_KeyPress(object sender, System.Windows.Forms.KeyPressEventArgs e)
{
  // 只允許輸入字母和數(shù)字
  if (!char.IsLetterOrDigit(e.KeyChar) && !char.IsControl(e.KeyChar) && e.KeyChar != '\b')
  {
    e.Handled = true;
  }

  // 限制輸入長度為8位
  if (txt_Address.Text.Length >= 8 && !char.IsControl(e.KeyChar))
  {
    e.Handled = true;
  }
}

以上代碼使用了TextBoxKeyPress事件處理程序。在該事件中,使用char.IsLetterOrDigit方法來判斷輸入的字符是否是字母或數(shù)字,如果不是,則將其處理掉,不允許輸入。同時(shí),使用char.IsControl方法來判斷輸入的字符是否是控制字符,如退格鍵、刪除鍵等,這些特殊按鍵是允許輸入的。另外,使用TextBoxText屬性來獲取輸入框中的文本長度,如果長度超過 8 位并且輸入的字符不是控制字符,也將其處理掉,不允許輸入超過 8 位的字符。

測試過程中發(fā)現(xiàn)這樣判斷有一個(gè)缺陷就是中文還是能輸進(jìn)去??

正則表達(dá)式

private void txt_Address_KeyPress(object sender, System.Windows.Forms.KeyPressEventArgs e)
{
  // 使用正則表達(dá)式定義允許輸入的字符模式
  string pattern = @"[a-zA-Z0-9]";
  Regex regex = new Regex(pattern);

  // 判斷輸入的字符是否符合允許的字符模式
  if (!regex.IsMatch(e.KeyChar.ToString()) && !char.IsControl(e.KeyChar))
  {
    // 如果輸入的字符不符合字符模式,并且不是控制字符(如Backspace、Delete等),則禁止輸入
    e.Handled = true;
  }

  // 限制輸入長度為8位
  if (txt_Address.Text.Length >= 8 && !char.IsControl(e.KeyChar))
  {
    e.Handled = true;
  }
}

在上面的代碼中,我們使用了正則表達(dá)式 [a-zA-Z0-9] 來定義了允許輸入的字符模式,表示只允許輸入字母(包括大小寫)和數(shù)字字符。通過Regex.IsMatch方法來判斷輸入的字符是否符合這個(gè)字符模式,如果不符合并且也不是控制字符(如BackspaceDelete等),則通過e.Handled = true來禁止輸入。

這樣,用戶在輸入時(shí)如果嘗試輸入空格、中文或其他不符合字符模式的字符,將會(huì)被禁止輸入。就不用每次都判斷啦??,記得提前引用需要的命名空間哈。

using System.Text.RegularExpressions;

每天一個(gè)偷懶小技巧是??文章來源地址http://www.zghlxwxcb.cn/news/detail-412130.html

到了這里,關(guān)于C# 限制輸入為字母或數(shù)字以及長度的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包