首页 > 文章列表 > 如何高效匹配数据库中两种不同格式的IP地址并恢复部分字符串匹配功能?

如何高效匹配数据库中两种不同格式的IP地址并恢复部分字符串匹配功能?

207 2025-04-11

如何高效匹配数据库中两种不同格式的IP地址并恢复部分字符串匹配功能?

从左到右匹配字符串

在给定的代码中,乔治老师提供了匹配一个字符串是否包含在另一个字符串内的效率方法。该方法可以从左到右匹配一部分字符串,例如匹配 "11.9.67.180" 中 "11.9."。

然而,在修改后,该方法只能完全匹配整个字符串,不再具有从左到右匹配一部分字符串的功能。要恢复这一功能,需要对代码进行一些修改。

同时处理两种数据库内容格式

在给定的数据库内容中,有两种格式:

  • "99.88, 110.52, 43.80.235, 11.9.67.180"
  • "99.88", "110.52", "43.80.235", "11.9.67.180"

为了同时处理这两种格式,需要对代码进行以下修改:

dbiplist = rs("ip")
dbiplist = replace(dbiplist, """", "")

第一行从数据库中读取 "ip" 列的数据。第二行用空字符串替换双引号,确保两种格式的数据库内容都能正常处理。

修改后的代码

以下是修改后的代码:

<%
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
%>
来源:1733120036