2011-10-25 44 views
7

我一直在檢查所有的互聯網,但真的找不到我的問題的任何具體解決方案。ASP經典:檢查字符串是否只包含有效的字符

如何檢查字符串是否只包含聲明的有效字符?

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

有什麼不對的'。測試()'方法? –

+0

不知道它存在:)謝謝 – Behrens

回答

7

你可以做一個Test返回真或假

If(pw.Test("string")) Then 
'' Do something 
End If 
+0

工程就像一個魅力!謝了哥們! :) – Behrens

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 
2

嘗試 -

Dim myRegExp, FoundMatch 
Set myRegExp = New RegExp 
myRegExp.Pattern = "[^a-zA-Z0-9]" 
FoundMatch = myRegExp.Test("iownfiwefnoi3w4mtl3.-34ø'3") 

如果FoundMatch是真正的正則表達式引擎找到了一個字符不是a-z或A-Z或0-9和您的字符串是無效的。

0

與其替換,您可以查看並查看白名單外的任何字符是否匹配。每個匹配語法的一般是here

0

[a-zA-Z0-9]的作品...我試着對你的字符串在這裏http://gskinner.com/RegExr/?2u7c3和這裏http://regexpal.com/ ...把​​胡蘿蔔出來。我也記不起正則表達式引擎VBScript的用法,但這可能與你的問題有關。這也適用於...

\ d?\ W

+0

+1「胡蘿蔔出來」 – 2011-10-25 14:56:56

+0

我知道,目前的字符串的東西:) 我的問題是,現在它只是剝離字符串..但我希望它檢查,如果字符串包含無效字符和不剝奪它:) – Behrens