PublicClass CheckInputClass CheckInput 读取数字串#Region "读取数字串" /**/'''<summary> ''' '''</summary> '''<param name="str"></param> '''<returns></returns> '''<remarks></remarks> PublicSharedFunction ReturnNumber()Function ReturnNumber(ByValstrAsString) AsDouble'Integer 太小,可容纳的数字量少 '返回值: ' -1:表示数字0 ' -2:表示字符为空 ' -3:表示有一个字符,且不是数字 Dim i AsInteger=str.Length Dim j AsInteger Dim numstr AsString=str.Substring(0, 0) Dim checkstr AsString If i =0Then Return-2' -2:表示字符为空 EndIf Ifstr<>"0"Then If i =1Then IfChar.IsNumber(str) =FalseThen Return-3' -3:表示有一个字符,且不是数字 Else Return Convert.ToInt32(str) EndIf ElseIf i >=2Then For j =0To i -1 checkstr =str.Substring(j, 1) IfChar.IsNumber(checkstr) =TrueThen numstr += checkstr EndIf Next If numstr.Length <>0Then Return Convert.ToDouble(numstr) Else Return-1 EndIf EndIf Else'表示字符串为 "0" Return-1' -1:表示数字0 EndIf End Function #End Region 读取字符串#Region "读取字符串" /**/'''<summary> ''' '''</summary> '''<param name="str"></param> '''<returns></returns> '''<remarks></remarks> PublicSharedFunction ReturnStr()Function ReturnStr(ByValstrAsString) AsString '返回数字0表示字符串为空 '否则返回所有字符串.其他字符过滤 Ifstr.Length =0Then Return"0" EndIf Dim rtnStr AsString="" Dim chkStr AsString Dim i AsInteger=str.Length Dim j AsInteger For j =0To i -1 chkStr =str.Substring(j, 1) '不是数字,空格,符号 IfChar.IsNumber(chkStr) =FalseAndChar.IsWhiteSpace(chkStr) =FalseAndChar.IsPunctuation(chkStr) =FalseAndChar.IsSymbol(chkStr) =FalseThen rtnStr += chkStr EndIf Next If rtnStr.Length <>0Then Return rtnStr Else Return"0" EndIf End Function #End Region 读取符号#Region "读取符号" /**/'''<summary> ''' '''</summary> '''<param name="str"></param> '''<returns></returns> '''<remarks></remarks> PublicSharedFunction ReturnSymbol()Function ReturnSymbol(ByValstrAsString) AsString Ifstr.Length =0Then Return"0"'字符串空 EndIf Dim rtnStr AsString="" Dim chkStr AsString Dim i AsInteger=str.Length Dim j AsInteger For j =0To i -1 chkStr =str.Substring(j, 1) IfChar.IsNumber(chkStr) =FalseAndChar.IsWhiteSpace(chkStr) =FalseAndChar.IsLetter(chkStr) =FalseThen rtnStr += chkStr EndIf Next If rtnStr.Length <>0Then Return rtnStr Else Return"0" EndIf End Function #End Region 按照Lower(小写字母),Upper(大写字母),All(所有字母)读取字符串#Region "按照Lower(小写字母),Upper(大写字母),All(所有字母)读取字符串" /**/'''<summary> ''' 按照Lower(小写字母),Upper(大写字母),All(所有字母)读取字符串 '''</summary> '''<param name="str"></param> '''<param name="type">类型:Lower(小写字母),Upper(大写字母),All(所有字母)</param> '''<returns></returns> '''<remarks></remarks> PublicSharedFunction ReturnChar()Function ReturnChar(ByValstrAsString, ByVal type AsString) AsString Dim chkStr AsString Dim rtnStr AsString="" Dim i AsInteger=str.Length Dim j AsInteger If i =0Then Return"String Input Error,Please check again." EndIf If type.ToString ="Lower"Then'小写字母 For j =0To i -1 chkStr =str.Substring(j, 1) IfChar.IsLower(chkStr) =TrueThen rtnStr += chkStr EndIf Next Return rtnStr ElseIf type.ToString ="Upper"Then'大写字母 For j =0To i -1 chkStr =str.Substring(j, 1) IfChar.IsUpper(chkStr) =TrueThen rtnStr += chkStr EndIf Next Return rtnStr ElseIf type.ToString ="All"Then'所有大小写字母 '可以直接调用上面的函数实现 'Return ReturnStr(str) '使用以下代码,熟悉各个Char的用法 For j =0To i -1 chkStr =str.Substring(j, 1) IfChar.IsLetter(chkStr) =TrueThen rtnStr += chkStr EndIf Next Return rtnStr Else Return"Type Select Error,Please Select in Lower,Upper and All" EndIf End Function #End Region End Class
窗体代码
Imports ClassVB.CheckInput PublicClass Form1Class Form1 PrivateSub TextBox2_TextChanged()Sub TextBox2_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox2.TextChanged End Sub PrivateSub TextBox1_TextChanged()Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox1.TextChanged DimstrAsString= TextBox1.Text.ToString ' TextBox2.Text = Convert.ToString(ReturnNumber(str)) TextBox2.Text = ReturnNumber(str).ToString TextBox3.Text = ReturnStr(str) TextBox4.Text = ReturnSymbol(str) TextBox5.Text = ReturnChar(str, "Lower") TextBox6.Text = ReturnChar(str, "Upper") End Sub End Class