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