Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
value='aaaa:0000:0000:0000:0000:0000:0001:0002'
console.log(value)
value = value.toLowerCase().replace(/(\:)0+/g, "$1").replace(/\:{3,}/, "::");
console.log(value) // ok
 
value='aaaa:0000:0000:0000:0000:0000:0001:0000'
console.log(value)
value = value.toLowerCase().replace(/(\:)0+/g, "$1").replace(/\:{3,}/, "::");
console.log(value) //manque le 0 final
 
value='aaaa:0000:0002:0002:0000:0000:0001:0002'
console.log(value)
value = value.toLowerCase().replace(/(\:)0+/g, "$1").replace(/\:{3,}/, "::");
console.log(value) // 1 seule fois '::'
bonjour j'ai ce souci, pour bien réduire les adresse ipv6

ce regex ne marche pas, comment avoir bien les 0 à la fin, et comment n'avoir '::' qu'une seule fois max

merci beaucoup aux experts regex