註冊驗證之防止使用者名稱輸入空格,asp批次替換特殊字元函數代碼check.asp
複製代碼代碼如下:
<%
''''''''''''''''''''''''''''''''''''
Function ReplaceText(fString,patrn,replStr)
Set regEx = New RegExp ' 建立正規表示式。
regEx.Pattern = patrn ' 設定模式。
regEx.IgnoreCase = True ' 設定是否區分大小寫。
regEx.Global = True ' 設定全域可用性。
ReplaceText = regEx.Replace(&fString&,&replStr&) ' 作替換。
Set regEx=nothing
End Function
''''''''''''''''''''''''''''''''''''
''''''''''''''''''''''''''''''''''''
Function HTMLEncode(fString)
fString=Trim(fString)
fString=Replace(fString,CHR(9),)
fString=Replace(fString,CHR(13),)
fString=Replace(fString,CHR(22),)
fString=Replace(fString,CHR(38),&) '&
fString=Replace(fString,CHR(32), ) '
fString=Replace(fString,CHR(34),) '
fString=Replace(fString,CHR(37),%) '%
fString=Replace(fString,CHR(39),') ''
fString=Replace(fString,CHR(42),*) '*
fString=Replace(fString,CHR(43),+) '+
fString=Replace(fString,CHR(44),,) ',
fString=Replace(fString,CHR(45)&CHR(45),--) '--
fString=Replace(fString,CHR(92),/) '/
'fString=Replace(fString,CHR(95),_) '_
fString=Replace(fString,CHR(40),() '(
fString=Replace(fString,CHR(41),)) ')
fString=Replace(fString,CHR(60),<) '<
fString=Replace(fString,CHR(62),>) '>
fString=Replace(fString,CHR(123),{) '{
fString=Replace(fString,CHR(125),}) '}
fString=Replace(fString,CHR(59),;) ';
fString=Replace(fString,CHR(10),<br>)
fString=ReplaceText(fString,([&#])([a-z0-9]*);,$1$2;)
fString=ReplaceText(fString,(fuck|shit),string(len(&$1&),*))
if IsSqlDataBase=0 then '過濾片假名(日文字)[/u30A0-/u30FF] by yuzi
fString=escape(fString)
fString=ReplaceText(fString,%u30([AF][0-F]),0$1;)
fString=unescape(fString)
end if
HTMLEncode=fString
End Function
''''''''''''''''''''''''''''''''''''
''''''''''''''''''''''''''''''''''''
Function RequestInt(fString)
RequestInt=Request(fString)
if IsNumeric(RequestInt) then
RequestInt=int(RequestInt)
else
RequestInt=0
end if
End Function
''''''''''''''''''''''''''''''''''''
UserName=HTMLEncode(unescape(Request.QueryString(UserName)))
UserNameLength=RequestInt(UserNameLength)
If len(UserName)<>UserNameLength Then
response.write 使用者名稱非法!
Else
response.write 使用者名稱合法!
End If
%>
HTMLEncode 函數是將使用者名稱轉換成合法字元的必須步驟。
RequestInt 函數主要根據輸入有效字元的數量來判斷使用者名稱是否包含空格。
呼叫方法:check.asp?UserName=使用者名稱&UserNameLength=使用者名稱長度
check.asp一般用於Ajax判斷