我一直在互联网上查看,但实际上找不到我问题的具体解决方案。
如何检查字符串是否仅包含声明的有效字符?
我希望我的字符串只包含0-9,A-Z和a-z
因为oifrmf9RWGEWRG3oi4m3ofm3mklwef-qæw
和-
,字符串æ
应无效
字符串joidsamfoiWRGWRGmoi34m3f
应该有效。
我一直在使用内置的RegExp去除字符串,但是可以只检查它并返回一个布尔值false或true吗?
我的正则表达式:
set pw = new regexp
pw.global = true
pw.pattern = "[^a-zA-Z0-9]"
newstring = pw.replace("iownfiwefnoi3w4mtl3.-34ø'3", "")
谢谢:)
答案 0 :(得分:9)
您可以执行返回True或False的Test
If( pw.Test("string") ) Then
'' Do something
End If
答案 1 :(得分:2)
尝试 -
Dim myRegExp, FoundMatch
Set myRegExp = New RegExp
myRegExp.Pattern = "[^a-zA-Z0-9]"
FoundMatch = myRegExp.Test("iownfiwefnoi3w4mtl3.-34ø'3")
如果FoundMatch
为真,则RegEx引擎找到的字符不是a-z或A-Z或0-9且字符串无效。
答案 2 :(得分:0)
您可以执行以下操作:
Set match = pw.execute("iownfiwefnoi3w4mtl3.-34ø'3")
if match.count > 0 then
' your pattern matched, so it's invalid
badString = true
else
badString = false
end if
答案 3 :(得分:0)
您可以查看并查看白名单之外的任何字符是否匹配,而不是替换。每种匹配语法的一般是here
答案 4 :(得分:0)
[a-zA-Z0-9]有效...我在这里对你的字符串进行了尝试http://gskinner.com/RegExr/?2u7c3和http://regexpal.com/ ...将胡萝卜拿出来。我也记不起正则表达式引擎vbscript的使用,但这可能与你的问题有关。这也有效......
\ d?\ W