本文探討如何改進一段代碼,使其能夠正確處理從數據庫中提取的IP地址列表。原始代碼在處理數據庫中不同格式的IP地址時存在問題。
原始代碼片段如下:
' ... (some code omitted) ... iplist = array(""&rs("ip")&"") ' ... (rest of the code omitted) ...
這段代碼嘗試將數據庫字段rs(“ip”)直接轉換為數組,但這在數據庫IP地址格式為”99.88″, “110.52”, “43.80.235”, “11.9.67.180” 或 99.88, 110.52, 43.80.235, 11.9.67.180 時會失敗。
改進后的代碼如下:
' ... (some code omitted) ... Dim ipString, ipArray ipString = rs("ip") ipArray = Split(ipString, ",") ' 使用逗號分割IP地址字符串 For Each ip In ipArray ip = Trim(ip) ' 去除前后空格 If userIP = ip Then found = True Exit For End If Next If found Then Response.Write "ok" Response.End End If %>
改進后的代碼首先將數據庫字段rs(“ip”)賦值給ipString變量。然后,使用Split函數以逗號 (,) 為分隔符將ipString分割成一個IP地址數組ipArray。 最后,代碼遍歷ipArray中的每個IP地址,使用Trim函數去除前后空格,再進行IP地址匹配。 這解決了原始代碼無法正確處理不同格式IP地址列表的問題,確保了代碼的魯棒性。
? 版權聲明
文章版權歸作者所有,未經允許請勿轉載。
THE END