asp檢測URL正運算式
<%Function IsValidUrl(UrlValue)
Dim ArrayUrl,thisUrl,PostFix,url
Dim i,x,y,c
IsValidUrl = True
ArrayUrl=Split(UrlValue,"|")
for i=0 to UBound(ArrayUrl)
thisUrl=Split(ArrayUrl(i),".")
if UBound(thisUrl)<0 then '檢查是否有.
IsValidUrl = False
Exit Function
end if
PostFix=UBound(thisUrl) '得到後輟
if IsValidPostFix(thisUrl(PostFix))=False then '檢查後輟是否為com或net或cn,可根據實際情況在IsValidPostFix函數中添加
IsValidUrl = False
Exit Function
end if
for each url in thisUrl
if Len(url) <= 0 then
IsValidUrl = False
Exit Function
end if
if InStr(url,"-")=1 then '第一個字母不能以“-"開頭
IsValidUrl = False
Exit Function
end if
for y = 1 to Len(url)
c = Lcase(Mid(name, y, 1))
if InStr("abcdefghijklmnopqrstuvwxyz_-", c) <= 0 and IsNumeric(c)=False then '可以是任意英文或數字
IsValidUrl = False
Exit Function
end if
next
if Left(url, 1) = "." or Right(url, 1) = "." then
IsValidUrl = False
Exit Function
end if
next
next
End Function
'-----------------------------------------------------------------------------------------------------------
Function IsValidPostFix(PostFixValue)
Dim ValidPostFix,thisPostFix
Dim k
IsValidPostFix=False
ValidPostFix="com, net, cn"
thisPostFix=Split(ValidPostFix,",")
for k=0 to UBound(thisPostFix)
if Instr(PostFixValue,thisPostFix(k))>0 then
IsValidPostFix=True
Exit Function
end if
next
End Function
'-----------------------------------------------------------------------------------------------------------
'-----------------------------------------------------------------------------------------------------------
Response.Write IsValidUrl("abc.com.cn ¦abc.com ¦bbs.news.163.com")