VB NET检测字符串的函数

在VB NET中,
如何判断字符串中是否包含特殊字符?
如何判断字符串是否只包含数字或字母(如AAA,866,A86都是符合条件的)?

特殊字符指的是什么?是汉字还是不可见字符还是不常用字符,比如通常使用字符ascii值32–126 是键盘上找到的字符。
比如将字符串用Split替换掉常用的字符,如果剩下的字符串长度不为0就含有其他字符,判断a-zA-Z0-9也是用这个办法,实际上用正则表达式也很简单,用For的循环判断每个字符值也可以追问

如图,比如说:
在文本框中输入一个字符串,然后按下按钮
如果输入的是类似“AAA”,“031”和“A31”等的,由纯字母、纯数字或字母和数字混合构成的字符串,Label1就显示“符合条件”,如果是“A#@_B30”等包含了等包含了特殊符号的字符串,则显示“不符合条件”
如果输入的是中文,则显示“中文”
具体怎么做,我是新手,谢谢

追答

用for循环依次判断textbox1输入的合法性
好一点的方式根本不允许textbox1输入非法的字符,也就是即使输入了也自动删除,但是你可能看不懂,因为使用了正则表达式
Imports System.Text.RegularExpressions
Public Class Form1
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
End Sub
Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox1.TextChanged
Dim a As Integer = TextBox1.SelectionStart
Dim b As String = Regex.Replace(TextBox1.Text, "[^a-zA-Z\d\u4e00-\u9fa5]", "")
Dim c As Integer = TextBox1.Text.Length
If b.Length c Then
TextBox1.Text = b
TextBox1.SelectionStart = a + b.Length - c
End If
End Sub
End Class

温馨提示:答案为网友推荐,仅供参考