就是说一个字符串里只能包含中文,英文和数字
不能有"@%<"之类的符号.
要怎么做?
vb如何验证特殊字符?
答案:4 悬赏:0 手机版
解决时间 2021-02-27 18:45
- 提问者网友:聂風
- 2021-02-27 01:57
最佳答案
- 五星知识达人网友:污到你湿
- 2021-02-27 02:08
如果 是一个字符串可以这样判断
Dim iStr As String
iStr = "你的字符%串..."
Dim i As Long
Dim s As String
Dim a As String
s = "@%<" ' 这里放你需要的所有非法符号
For i = 1 To Len(s)
a = Mid(s, i, 1)
If InStr(iStr, a) > 0 Then
'字符串含有非法字符
Debug.Print "字符串含有非法字符:"; a
Exit For
Else
End If
Next
If i > Len(s) Then
'字符串没有非法字符
Debug.Print "字符串没有非法字符"
End If
如果在 Text 输入的时候做判断...可以用下面的例子
Private Sub Text1_KeyPress(KeyAscii As Integer)
Dim a As String
iStr = Chr(KeyAscii)
Dim i As Long
Dim s As String
Dim a As String
s = "@%<" ' 这里放你需要的所有非法符号
If InStr(s, iStr) > 0 Then
'输入非法字符
MsgBox "输入非法字符:" & iStr
Else
'输入字符正确
End If
End Sub
Dim iStr As String
iStr = "你的字符%串..."
Dim i As Long
Dim s As String
Dim a As String
s = "@%<" ' 这里放你需要的所有非法符号
For i = 1 To Len(s)
a = Mid(s, i, 1)
If InStr(iStr, a) > 0 Then
'字符串含有非法字符
Debug.Print "字符串含有非法字符:"; a
Exit For
Else
End If
Next
If i > Len(s) Then
'字符串没有非法字符
Debug.Print "字符串没有非法字符"
End If
如果在 Text 输入的时候做判断...可以用下面的例子
Private Sub Text1_KeyPress(KeyAscii As Integer)
Dim a As String
iStr = Chr(KeyAscii)
Dim i As Long
Dim s As String
Dim a As String
s = "@%<" ' 这里放你需要的所有非法符号
If InStr(s, iStr) > 0 Then
'输入非法字符
MsgBox "输入非法字符:" & iStr
Else
'输入字符正确
End If
End Sub
全部回答
- 1楼网友:渡鹤影
- 2021-02-27 04:30
public function deletechars(text as string) as string)
dim s as string : s=`~!@#$%^&*()_-+=[{]}\|;:' & chr(34) & ",<.>?/"
dim result as string :result=text
dim i as long
for i =1 to len(s)
result=replace(result,mid(s,i,1),"")
next
deletechars= result
end function
- 2楼网友:掌灯师
- 2021-02-27 03:46
字符串是哪来的呢?
应该从来源着手,
比如是在文本框里得到的,就不要给文本框输入无关的字符
因为在文本框里就可以很简单的得到你的要求
- 3楼网友:末日狂欢
- 2021-02-27 02:45
设这个字符串为Str1
If InStr(1, Str1, "@", vbTextCompare) <> 0 Or InStr(1, Str1, "%", vbTextCompare) <> 0 Then '像这样用Or连接下去
'弹出错误
Else
'格式正确的处理
End If
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯