如何使用VBScript实现IP地址的部分匹配及数据库内容格式兼容?
从左到右匹配一部分内容
当处理部分匹配的情况时,可以使用 instr 函数,它可以查找字符串中另一字符串的出现位置。以下是代码的修改方法,以实现从左到右的部分匹配:
修改后的代码:
<%Dim aa, ipList, ip, found, dbIPListaa = Request.ServerVariables("REMOTE_ADDR")dbIPList = Rs("ip")' 增加一个去除双引号的操作,确保两种数据库内容格式都能正常处理dbIPList = Replace(dbIPList, """", "")ipList = Split(dbIPList, ",")found = FalseFor Each ip In ipList ip = Trim(ip) If InStr(aa, ip) > 0 Then found = True Exit For End IfNextIf found Then Response.Write "ok" Response.EndEnd If%>
通过移除 ip = trim(ip) 行,代码可以从左到右匹配字符串中另一字符串的一部分。这样,即使 iplist 中的 ip 地址不是完整匹配,代码也能匹配 aa 中的子串。
修正后的代码可以处理以下两种格式的数据库内容: