String是有效IPv6

时间:2017-09-12 12:30:53

标签: regex ipv6

我正在处理自动完成任务,我想检查给定字符串是否是有效IPv6地址的前缀。 例如,字符串" 2001:"是这个ipv6地址的前缀" 2001:db8 :: 2:1"或者可以是此ipv6地址的前缀" 2001:a8 :: 4:c"。 如果字符串是某些有效IPv6的前缀,则我的函数应返回true。 我在互联网上搜索过,我发现的只是IPv6验证。 感谢

1 个答案:

答案 0 :(得分:1)

基本上,IPV6地址的前64位被视为网络前缀。您可以使用下面的正则表达式来验证您的网络前缀。

var valueToTest=document.getElementById('networkprefix').value;

if ( /^((?:[0-9A-Fa-f]{1,4}))*:((?:[0-9A-Fa-f]{1,4}))*:((?:[0-9A-Fa-f]{1,4}))*:((?:[0-9A-Fa-f]{1,4}))$/g.test(valueToTest)) 
{
    alert("Valid Network Prefix");

}
else
{
    alert("InValid Network Prefix");
}