多多色-多人伦交性欧美在线观看-多人伦精品一区二区三区视频-多色视频-免费黄色视屏网站-免费黄色在线

國內最全IT社區平臺 聯系我們 | 收藏本站
阿里云優惠2
您當前位置:首頁 > 互聯網 > 限制字符串輸入――正則表達式(VB.NET)

限制字符串輸入――正則表達式(VB.NET)

來源:程序員人生   發布時間:2014-09-17 09:48:56 閱讀次數:2649次

   1、概述

 在做機房收費系統的時候,幾乎所有的窗體上都存在著文本框或者組合框,當用戶進行操作的時候,首先要判斷是否為空,然后再對各種屬性進行判斷,比如;卡號、學號、金額等只能輸入數字,有些信息只能輸入字母,或者將一些信息的輸入設為只能輸入數字和字母。舉個例子,我們注冊郵箱的時候,就會有一些特定字符的設置:

    下面是163郵箱注冊的頁面

    

    在我們做機房收費系統時,如果用常規的方法,直接用ASCII碼進行設置的話,就感覺有點復雜,現在我們一起來認識認識程序員必備的七種技能之一的“正則表達式”。



 2、什么是正則表達式?

  首先看一張漫畫:

 

 正則表達式就是用事先定義好的一些特定字符、及這些特定字符的組合,組成一個“規則字符串”,這個“規則字符串”用來表達對字符串的一種過濾邏輯。

   舉個例子:只能輸入數字:“^[0-9]*$”。

             只能輸入漢字:“^[u4e00-u9fa5]{0,}$”。

             只能輸入由26個英文字母組成的字符串:“^[A-Za-z]+$”。



  3、怎么使用正則表達式?

 下面就一起來看看怎么使用它。

   咱們以添加新用戶的窗體為例:

                       

  

Public Const C_REGULAR_LenNum = "^[A-Za-z0-9]+$" '只能輸入由數字和26個英文字母組成的字符 Public Const C_REGULAR_NumLimit = "^d{6,16}$" '只能輸入6至16位的數字。

''' <summary> ''' 檢測輸入字符串是否匹配正則表達式項 ''' </summary> ''' <param name="strPattern">正則表達式項</param> ''' <param name="TextReg">輸入字符串</param> ''' <returns>返回結果是否匹配</returns> ''' <remarks><span style="font-family:KaiTi_GB2312;">2014年8月28日16:02:20</span></remarks> Public Function funCheckRegular(ByVal strPattern As String, TextReg As String) Return Regex.IsMatch(TextReg, strPattern) End Function ''' <summary> ''' 具體執行的判斷函數,判斷是否輸入數字 ''' </summary> ''' <param name="arrayControl">結構體數組</param> ''' <returns>True則表示匹配,false則不匹配</returns> ''' <remarks>2014-07-09 10:30:24</remarks> Public Function CheckRegular(ByVal arrayControl() As Term, ByVal strPattern As String, Warning As String) As Boolean Dim termControl As Term '聲明一個Term類型變量termControl '遍歷結構體數組中的所有元素,如果控件文本輸入不合法,則給出相應返回值 For Each termControl In arrayControl '遍歷結構體數組中所有元素 If TypeOf termControl.controlSub Is TextBox Then '判斷控件是否為文本框 If termControl.controlSub.Text.Trim <> "" Then '判斷文本框內容是否為空,不為空往下執行 If funCheckRegular(strPattern, termControl.controlSub.Text) = False Then MessageBox.Show(termControl.strText + "欄 - -!" + Warning, "友情提示", MessageBoxButtons.OK, MessageBoxIcon.Information) termControl.controlSub.Focus() '為空控件得到焦點 Return False Exit Function End If End If End If Next Return True End Function


下面的代碼是在界面層(UI)如何調用:

Public Sub RdimStrNum() ReDim Preserve arrayControl(0) '重定義數組維數 '初始化數組 arrayControl(0) = New Term(txtUserID, "用戶名") End Sub Public Sub RdimNum() ReDim Preserve arrayControl(1) '重定義數組維數 '初始化數組 arrayControl(0) = New Term(txtUserPWD, "密碼") arrayControl(1) = New Term(txtConfirm, "確認密碼") End Sub

'判斷用戶輸入是否合法(數字和字母) Call RdimStrNum() Dim strPattern = C_REGULAR_LenNum '正則表達式 Dim Warning As String = "只能輸入由數字和26個英文字母組成的字符" If CheckRegular(arrayControl, strPattern, Warning) = False Then Exit Sub End If '判斷用戶輸入是否合法(數字) Call RdimNum() Dim pattern = C_REGULAR_NumLimit '正則表達式 Dim Warn As String = "請輸入6至16位數字" If CheckRegular(arrayControl, pattern, Warn) = False Then Exit Sub End If


  3、結束語

 在程序員日常工作中,數據處理占據了相當的比重。而所有的數據之中文本又占據了相當的比重。文本能夠被人理解、具有良好的透明性,利于系統開發、測試和維護等就必需要有一定規律遵循一種規則,而正則表達式正是我們所需要的,它提供給我們強大的字符串處理的能力。

 




轉載請注明出處:http://blog.csdn.net/zlts000/article/details/38021335

  

生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 一级淫片免费视频 | 成人a大片高清在线观看 | 性丰满妇女free性性性 | 亚洲综合一二三区 | 亚洲精品高清在线一区二区三区 | 爱插网| 亚洲欧洲精品成人久久曰 | 亚洲精品国产第一区二区多人 | 最近免费中文字幕大全免费版视频 | 欧美日韩国产一区 | 亚洲视频你懂的 | 九色中文 | 欧美成人亚洲高清在线观看 | 98精品视频 | 亚洲黄色在线观看网站 | 日本在线观看不卡免费视频 | 中国毛片网 | 免费视频h| 国产精品极品美女免费观看 | 成人亚洲在线观看 | 亚洲国产日韩欧美在线a乱码 | 日本中文字幕在线看 | 亚州精品永久观看视频 | 在线观看免费a∨网站 | 真人肉体一级毛片 | 国内精品免费视频精选在线观看 | ww视频在线观看 | 一区二区视频 | аⅴ成人天堂中文在线 | www.插插插| 亚洲精品a | 综合图区亚洲欧美另类小说 | 亚洲欧洲免费 | 99久久精品国产综合男同 | 欧美啪啪一级毛片 | h视频在线免费看 | 波多野结衣在线免费 | 欧美三级一级 | 欧美精品第1页在线播放 | 无码中文av有码中文av | 91中文字幕yellow字幕网 |