字符串是有效IPv6的前缀



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

基本上,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");
}

最新更新