在Classic ASP下,使用正規表示式的主要步驟如下:
- 建立RegExp物件
如果是在Client端執行:Set oRegExp = CreateObject("vbscript.RegExp")
如果是在Server端執行:set oRegExp = New RegExp - 使用Pattern,指定要檢測的條件
- 使用Test進行檢測,True符合條件,False不符合條件
<%
function isHex(sChk)
dim oRegExp
set oRegExp = New RegExp
''所有包含一個以上的abcdefABCDEF字母、0123456789數字的字串
oRegExp.Pattern = "^[a-fA-F0-9]+$"
isHex = oRegExp.Test(sChk)
set oRegExp = nothing
end function
strChk= "HELLOa1b2C3D4E5F6G"
response.write strChk & "-" & IsHex(strChk) & "<br>"
n=len(strChk)
for i = 1 to n
zChk = mid(strChk,i,1)
response.write zChk & "-" & IsHex(zChk) & "<br>"
next
%>
執行結果:
HELLOa1b2C3D4E5F6G-False
H-False
E-True
L-False
L-False
O-False
a-True
1-True
b-True
2-True
C-True
3-True
D-True
4-True
E-True
5-True
F-True
6-True
G-False
正規表示式常用範例:
- 所有的正數:^[0-9]+$
- 所有的整數:^\-?[0-9]+$
- 所有的小數:^\-?[0-9]*\.?[0-9]*$
- 非負整數:^\d+$
- 正整數:^[0-9]*[1-9][0-9]*$
- 非正整數:^((-\d+)|(0+))$
- 負整數:^-[0-9]*[1-9][0-9]*$
- 整數:^-?\d+$
- 非負浮點數:^\d+(\.\d+)?$
- 正浮點數:^((0-9)+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0- 9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$
- 非正浮點數:^((-\d+\.\d+)?)|(0+(\.0+)?))$
- 負浮點數:^(-((正浮點數正規式)))$
- 英文字符串:^[A-Za-z]+$
- 英文大寫串:^[A-Z]+$
- 英文小寫串:^[a-z]+$
- 除了小寫字母以外的所有字串:[^a-z]
- 英文字符數字串:^[A-Za-z0-9]+$
- 由一個小寫字母和一位數字組成的字串:^[a-z][0-9]$
參考資料:http://zh.wikipedia.org/wiki/正規表示式
沒有留言:
張貼留言