我需要检查 IP 地址是 IPv4 还是 IPv6,以便相应地进行操作。
这可以通过一些简单的事情来实现,比如说
<cfset ip = "2a01:bc80:1::">
<cfif ip does not contain ":">
<cfset ipV="IPv4">
<cfelse>
<cfset ipV="IPv6">
但另一方面,不要认为这是解决此问题的万无一失的方法。我还尝试使用正则表达式重写 php 示例,但无法对其进行排序。
<cfset ip = "24.225.236.0">
<cfset checkIp = ReMatch("^[0-9a-f]{1,4}:([0-9a-f]{0,4}:){1,6}[0-9a-f]{1,4}$/", trim(ip))>
<cfif checkIp neq 0>
<cfset ipV="IPv4">
<cfelse>
<cfset ipV="IPv6">
</cfif>
<cfdump var="#ipV#">
处理 ip 版本检查的最佳、万无一失的方法是什么?