ipv4 和 ipv6
判断一个字符串是否是有效的 IPv4 或 IPv6 格式,首先需要了解这两种 IP 格式的基本结构:
-
IPv4 地址格式:
- 由四个十进制数构成,范围是 0 到 255。
- 这些数由点号分隔,例如
192.168.1.1
。 - 每个数不可以有前导零,例如
192.168.01.1
是无效的。
-
IPv6 地址格式:
- 由八组十六进制数构成,每组最多包含 4 个十六进制数字。
- 组之间用冒号分隔,例如
2001:0db8:85a3:0000:0000:8a2e:0370:7334
。 - 连续的零可以缩写为双冒号
::
,例如2001:db8::1
代表2001:0db8:0000:0000:0000:0000:0000:0001
。
验证一个字符串是否为有效 IP 地址需要:
- 对于 IPv4,检查是否有四个数,且每个数在 0 到 255 之间,并且没有前导零。
- 对于 IPv6,检查是否有八组十六进制数,数字合法且位置缩写合理。
通过这些规则,可以判断一个字符串是否是有效的 IPv4 或 IPv6 格式。