使用JQuery

时间:2015-12-29 10:53:56

标签: jquery string replace

我需要将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);

请帮忙吗?感谢。

1 个答案:

答案 0 :(得分:3)

尝试使用/(::)+/g,因为它会为两个冒号创建一个组:

var str    = '2001:db8:a0b:12f0::1/48', 
    newStr = str.replace(/(::)+/g, ':0000:0000:');

document.querySelector('pre').innerHTML = newStr;
<pre></pre>