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

温馨提示:内容为网友见解,仅供参考
无其他回答

VB.Net如何利用“文本中是否包含某字符串”作为判断条件应该用什么函数...
例如1:Instr(1,"abcde","a"),返回1 例如2:Instr(3,"abcde","a"),返回0 例如3:Instr(1,"abcde","c"),返回3 例如4:Instr(1,"abcde","cde"),返回3 例如5:Instr(4,"ab12cd12e12","12"),返回7,这里从字符串"ab12cd12e12"左起第4位开始向右搜索匹配字符串"12",找到的是...

在vb.net中查找一个函数,该函数功能:在原字符串中查找字串是否存在
字符串中指定文字位置查询,如:instr("inter","er")返回待判断字符串在原字符串中第一次出现的位置,如果不包含的话返回0

VB.Net如何测量含有中文的字符串长度
Public Function GetByteLength(ByVal value As String) As Long Dim i As Long = 0 For Each c As Char In value If (c.ToString().Length = System.Text.Encoding.Default.GetByteCount(value.ToString())) Then i = i + 1 End If i = i + 1 Next Return iEnd Function ...

VB.net 如何获得中文字符串的长度?
上面思路是正确的, 用ascw 函数也可以 private function LenC( ps as string ) as Integer Dim n As Integer Dim StrLen As Integer For n = 1 To Len(Text1.Text)If Ascw(Mid(Text1.Text, n, 1)) >256 Then StrLen = StrLen + 2 Else StrLen = StrLen + 1 Next n return strLen ...

VB.NET中的instr函数在C#里面是什么
str1.IndexOf("字串") \/\/查找“字串”的第一个字符在str1中的索引值位置 str1.IndexOf("字",start,end)\/\/从str1第start+1个字符起,查找end个字符,查找“字”在字符串STR1中的位置[从第一个字符算起]注意:start+end不能大于str1的长度 indexof参数为string,在字符串中寻找参数字符串第...

VB.net问题, 如何判断一个字符串包含另一个字符串
很简单,用字符串查找函数就可以实现了。当在StrB查找到StrA字符串时,返回肯定是非0的数,值就是True,找不到为0或者-1,值就是Flase 比如:Dim StrA As String = "Time is Limited"Dim StrB As String = "Time"Dim Stu As Boolean= InStr(StrA, StrB)这运行段代码,Stu值就是True了。我...

vb.net 中的字符串搜索、查找功能在哪里
As String = "A" Dim Matches As MatchCollection = Regex.Matches(str, Patter, RegexOptions.IgnoreCase Or RegexOptions.ExplicitCapture) For Each ws In Matches ListBox1.Items.Add("索引位置:" & ws.index) Next End SubEnd Class ...

vb.net 字符串的查找?
dim st as string = "qwertyuiop"msgbox(st.indexof("p"))若为-1,则表示不存在

vb.net 如何判断网络地址上的指定文件是否存在
1表示文件存在(True),0表示文件不存在(False)。而且只有一个参数szPath,是个字符串变量,如果要判断本地的文件是否存在其路径可写为:”C:\\Windows\\Config\\SysBook.Txt”),如果文件在远程电脑上,其路径可写为(假设对方电脑IP为192.168.0.2)"\\\\192.168.0.2\\d$\\javatools\\somefile.txt",...

vb.net,判断字符串长度是否符合要求,不用length函数求长度
不要用length的话,可以试下用mid然后用for..next来计算。。。

相似回答