我需要将2001:db8:a0b:12f0::1/48
等IPv6地址的扩展表示法输出到2001:db8:a0b:12f0:0000:0000:1/48
。如您所见,只有2 ::
需要替换为:0000:0000:
的地方。
我试图这样做,但每个:
都会被:0000:0000:
取代。
这些是代码:
的代码
var inputString = ip,
outputString = inputString.replace(/([:: ])+/g, ':0000:0000:').replace(/^(-)+|(-)+$/g,'');
console.log(outputString);
$("#prefix").attr("value",outputString);
请帮忙吗?感谢。
答案 0 :(得分:3)
尝试使用/(::)+/g
,因为它会为两个冒号创建一个组:
var str = '2001:db8:a0b:12f0::1/48',
newStr = str.replace(/(::)+/g, ':0000:0000:');
document.querySelector('pre').innerHTML = newStr;
<pre></pre>