站內搜尋:Yahoo搜尋如果沒有給完整的網址,請在站內再搜尋一次!

2013-11-10

在Classic ASP中,使用正規表示式(Regular Express)檢查字串內容

正規表示式(Regular Express) 要是能熟練,對於字串的運算,必定是如虎添翼 ...

在Classic ASP下,使用正規表示式的主要步驟如下:

  1. 建立RegExp物件
    如果是在Client端執行:Set oRegExp = CreateObject("vbscript.RegExp")
    如果是在Server端執行:set oRegExp = New RegExp
  2. 使用Pattern,指定要檢測的條件
  3. 使用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

正規表示式常用範例:

  1. 所有的正數:^[0-9]+$ 
  2. 所有的整數:^\-?[0-9]+$ 
  3. 所有的小數:^\-?[0-9]*\.?[0-9]*$ 
  4. 非負整數:^\d+$ 
  5. 正整數:^[0-9]*[1-9][0-9]*$ 
  6. 非正整數:^((-\d+)|(0+))$ 
  7. 負整數:^-[0-9]*[1-9][0-9]*$ 
  8. 整數:^-?\d+$  
  9. 非負浮點數:^\d+(\.\d+)?$ 
  10. 正浮點數:^((0-9)+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0- 9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$ 
  11. 非正浮點數:^((-\d+\.\d+)?)|(0+(\.0+)?))$ 
  12. 負浮點數:^(-((正浮點數正規式)))$
  13. 英文字符串:^[A-Za-z]+$ 
  14. 英文大寫串:^[A-Z]+$ 
  15. 英文小寫串:^[a-z]+$ 
  16. 除了小寫字母以外的所有字串:[^a-z]
  17. 英文字符數字串:^[A-Za-z0-9]+$ 
  18. 由一個小寫字母和一位數字組成的字串:^[a-z][0-9]$

參考資料:http://zh.wikipedia.org/wiki/正規表示式

沒有留言:

張貼留言