ASP Classic:检查字符串是否仅包含有效字符

时间:2011-10-25 14:25:58

标签: regex vbscript asp-classic

我一直在互联网上查看,但实际上找不到我问题的具体解决方案。

如何检查字符串是否仅包含声明的有效字符?

我希望我的字符串只包含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", "")

谢谢:)

5 个答案:

答案 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/?2u7c3http://regexpal.com/ ...将胡萝卜拿出来。我也记不起正则表达式引擎vbscript的使用,但这可能与你的问题有关。这也有效......

\ d?\ W