只在javascript中验证IPv6地址的正则表达式

时间:2014-05-28 20:04:29

标签: javascript regex ipv6

我需要一个只在Javascript中验证IPv6地址的正则表达式。我试过以下两个都失败的字符串,如1:1:1:1:1:1:1:1

^([\dA-F]{1,4}:|((?=.*(::))(?!.*\3.+\3))\3?)([\dA-F]{1,4}(\3|:\b)|\2){5}(([\dA-F]{1,4}(\3|:\b|$)|\2){2}|(((2[0-4]|1\d|[1-9])?\d|25[0-5])\.?\b){4})\z

^([0-9A-Fa-f]{0,4}:){2,7}([0-9A-Fa-f]{1,4}$|((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)(\.|$)){4})$

1 个答案:

答案 0 :(得分:-2)

你去吧

[0-9a-fA-F].{0,3}+:[0-9a-fA-F].{0,3}+:[0-9a-fA-F].{0,3}+:[0-9a-fA-F].{0,3}+:[0-9a-fA-F].{0,3}+:[0-9a-fA-F].{0,3}+:[0-9a-fA-F].{0,3}+:[0-9a-fA-F].{0,3}

oops,忘了将每个段设置为最多4个。

请注意,IP地址存在特定组合,其中一些组合无效。但这符合您的要求。