IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

addresses ip 6


Sujet :

JavaScript

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    252
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 252
    Points : 46
    Points
    46
    Par défaut addresses ip 6
    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

  2. #2
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 669
    Points
    66 669
    Billets dans le blog
    1
    Par défaut
    peux tu expliciter exactement ce que tu veux comme résultat final ?

    supprimer tous les zeros initiaux ?

    aller je me lance...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    value="aaaa:0000:0000:0000:0000:0000:0001:0002;aaaa:0000:0000:0000:0000:0000:0001:0000;aaaa:0000:0002:0002:0000:0000:0001:0002"
    tabvalue=value.split(';')
     
     
    function foo(ip){
    res=ip.split(/:0+(?=[^0]|$)/).join(':')
    return res;
    }
     
    var ips=""
    j=-1
    while (tabvalue[++j]){
    ips+=foo(tabvalue[j])+'\n'
    }
     
    alert(ips)

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    252
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 252
    Points : 46
    Points
    46
    Par défaut
    le regex doit permettre de formatter les adresse comme http://tools.ietf.org/html/rfc2373#section-2.2

    celui que j'ai posté marche presque, mais a enlevé le 0 final dans le 2e cas ce qui est pas bon (devrait finir par ':0'

    et a mis deux fois '::' dans le 3e cas, alors que ça doit apparaitre 1 fois max

    j'ai un peu du mal avec les regex donc je suis venu cherché un peu d'aide ici, merci à vous
    ton script n'est pas bon SpaceFrog, il ne faut pas supprimer les 0 comme cela

  4. #4
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 669
    Points
    66 669
    Billets dans le blog
    1
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    value="aaaa:0000:0000:0000:0000:0000:0001:0002;aaaa:0000:0000:0000:0000:0000:0001:0000;aaaa:0000:0002:0002:0000:0000:0001:0002"
    tabvalue=value.split(';')
     
     
    function foo(ip){
    res=ip.split(/:0{2,3}/).join(':')
    return res;
    }
     
    var ips=""
    j=-1
    while (tabvalue[++j]){
    ips+=foo(tabvalue[j])+'\n'
    }
     
    alert(ips)

  5. #5
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 669
    Points
    66 669
    Billets dans le blog
    1
    Par défaut
    ou
    plus direct
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    value="aaaa:0000:0000:0000:0000:0000:0001:0002;aaaa:0000:0000:0000:0000:0000:0001:0000;aaaa:0000:0002:0002:0000:0000:0001:0002"
    tabvalue=value.split(';')
     
     
    function foo(ip){
    res=ip.replace(/:0{1,3}/g,":")
    return res;
    }
     
    var ips=""
    j=-1
    while (tabvalue[++j]){
    ips+=foo(tabvalue[j])+'\n'
    }
     
    alert(ips)

  6. #6
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 669
    Points
    66 669
    Billets dans le blog
    1
    Par défaut
    heu en fait
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    res=ip.replace(/(^|(:))0{1,3}/g,"$2")
    au cas ou il y ait des 0 au début

    [edit]
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    res=ip.replace(/(^|:)0{1,3}/g,"$1")
    fonctionne tout aussi bien ^^

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    252
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 252
    Points : 46
    Points
    46
    Par défaut
    ça donne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    aaaa:0:0:0:0:0:1:2
    aaaa:0:0:0:0:0:1:0
    aaaa:0:2:2:0:0:1:2
    le bon format est quelquechose comme

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    aaaa::1:2
    aaaa::1:0
    aaaa::2:2:0:0:1:2
    je pense pas que tu peux y arriver en un seul regex, ou sinon c'est vraiment fort

    soit utiliser les 2 premiers regex que j'avais mis
    en fait le premier supprime les 0, le deuxième remplace les '::::' par juste '::'
    mais le problème est que ça doit être fait qu'une seule fois dans l'adresse
    et remettre des 0, après, compliqué,

    ta solution est bien meilleure, il faut un deuxième regex pour remplacer les groupes de 0 intérieurs, leading ou trailing par '::', mais une seule fois donc regex pas global, au pire en faisant la première occurence, tant pis si ce n'est pas la plus longue

    ':0:', ':0:0:', ':0:0:0:', ':0:0:0:0:',... par '::'
    '0:0:', '0:0:0:', ...par '::'
    ':0:0', ':0:0:0', ... par '::'

    edit
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    'aaaa:0000:0000:0000:0000:0000:0001:0000:0000:0000'.replace(/(^|:)0{1,3}/g,"$1").replace(/((0:)|:)+(0:0)((:0)|:)+/, "::")
    'aaaa:0001:0002:0003:0000:0001:0000:0000:0000'.replace(/(^|:)0{1,3}/g,"$1").replace(/((0:)|:)+(0:0)((:0)|:)+/, "::")
    donne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "aaaa::1:0:0:0" et "aaaa:1:2:3:0:1::"
    c'est ok, mais je suis pas sûr que c'est correct pour toutes les adresses

  8. #8
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 669
    Points
    66 669
    Billets dans le blog
    1
    Par défaut
    Essaye
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    res=ip.replace(/((^|:)(0(?!$))+){1}((:)0(0(?!$))+)*/g,"$2$5")
    si cela ne donne pas le resultat escompté dis moi ce que tdoit retrouner chacun des cas suivants :

    aaaa:0000:0000:0000:0000:0000:0001:0002
    aaaa:0000:0000:0000:0020:0000:0001:0000
    aaaa:0000:0002:0002:0000:0000:0001:0002
    000a:0000:0000:0000:0000:0000:0001:0000

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    252
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 252
    Points : 46
    Points
    46
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    'aaaa:0000:0000:0000:0000:0000:0001:0002'.replace(/((^|:)(0(?!$))+){1}((:)0(0(?!$))+)*/g,"$2$5")
    "aaaa::1:2" // pass
    'aaaa:0000:0000:0000:0020:0000:0001:0000'.replace(/((^|:)(0(?!$))+){1}((:)0(0(?!$))+)*/g,"$2$5")
    "aaaa::20::1:0"  // fail -> "aaaa::20:0:1:0"
    'aaaa:0000:0002:0002:0000:0000:0001:0002'.replace(/((^|:)(0(?!$))+){1}((:)0(0(?!$))+)*/g,"$2$5")
    "aaaa::2:2::1:2"   // fail -> "aaaa:0:2:2::1:2"
    '000a:0000:0000:0000:0000:0000:0001:0000'.replace(/((^|:)(0(?!$))+){1}((:)0(0(?!$))+)*/g,"$2$5")
    "a::1:0"  // pass
     
    // et un autre en plus
    'aaaa:0000:0000:0000:0001:0000:0000:0000'.replace(/((^|:)(0(?!$))+){1}((:)0(0(?!$))+)*/g,"$2$5")
    "aaaa::1::0"  // fail -> "aaaa::1:0:0:0" ou "aaaa:0:0:0:1::"
    edit
    comme il y a d'abord un remplacement global (dans chaque groupe)
    puis il doit y avoir un seul remplacement par '::', c'est pour ça que je ne pense pas que c'est possible en un seul regex

  10. #10
    Expert éminent
    Avatar de sekaijin
    Homme Profil pro
    Urbaniste
    Inscrit en
    Juillet 2004
    Messages
    4 205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Urbaniste
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2004
    Messages : 4 205
    Points : 9 127
    Points
    9 127
    Par défaut
    tu trouveras dans ce source
    http://jeanyves.terrien.free.fr/org....chekmethods.js
    une regexp nommé IPV6 et une autre IPV6OrNull
    qui matchent IPV6 (créées pour valider des formulaires)

    A+JYT

  11. #11
    Invité
    Invité(e)
    Par défaut
    en fait, j'ai upvoté, mais la réponse répond pas à la question.
    La question c'est de simplifier une ipv6, pas d'en checker la validité.

    J'en profite pour rajouter une regex :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var ip='00aa:0:0:0:0FF0:000:0020:000:00F';
    //remplace une seule fois une suite docurrence de 0:000:0 etc par ::
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ip.replace(/([0]{1,4}:)+/, ':');
    //remplace un truc style 0000 par 0 et 000F par F pour chacun des groupes se terminant par :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    .replace(/((0+)([0-9a-fA-F]+):)/g,'$3:');
    //même chose pour le dernier groupe
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    replace(/:(0+)([0-9a-fA-F])$/,':$2');
    bref un truc style
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    var ips=['aaaa:0000:0000:0000:0000:0000:0001:0002',
    'aaaa:0000:0000:0000:0000:0000:0001:0000',
    'aaaa:0000:0002:0002:0000:0000:0001:0002',
    'aaaa:0:0:0:0:0:1:2',
    'aaaa:0:0:0:0:0:1:0',
    'aaaa:0:2:2:0:0:1:2',
    'aaaa:0000:0000:0000:0000:0000:0001:0000:0000:0000',
    'aaaa:0001:0002:0003:0000:0001:0000:0000:0000',
    'aaaa:0000:0000:0000:0000:0000:0001:0002',
    'aaaa:0000:0000:0000:0020:0000:0001:0000',
    'aaaa:0000:0002:0002:0000:0000:0001:0002',
    '000a:0000:0000:0000:0000:0000:0001:0000',
    'aaaa:0000:0000:0000:0001:0000:0000:0000',
    'aaaa::1::0'];
     
    for(var i in ips){
    var ip=ips[i];
    ip = ip.replace(/([0]{1,4}:)+/, ':').replace(/((0+)([0-9a-fA-F]+):)/g,'$3:').replace(/:(0+)([0-9a-fA-F])$/,':$2');
    console.log(ip);
    }
    //affiche
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    aaaa::1:2
    aaaa::1:0
    aaaa::2:2:0:0:1:2
    aaaa::1:2
    aaaa::1:0
    aaaa::2:2:0:0:1:2
    aaaa::1:0:0:0
    aaaa:1:2:3::1:0:0:0
    aaaa::1:2
    aaaa::20:0:1:0
    aaaa::2:2:0:0:1:2
    a::1:0
    aaaa::1:0:0:0
    aaaa::1::0
    Dernière modification par Invité ; 10/09/2011 à 11h15.

  12. #12
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    252
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 252
    Points : 46
    Points
    46
    Par défaut
    merci sekaijin
    le match avec ce regex me servira surement

    mais j'ai surtout besoin d'un regex utilisable avec replace pour formatter les adresses, les reduire en taille

  13. #13
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    252
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 252
    Points : 46
    Points
    46
    Par défaut
    galerien69

    'aaaa::1::0' n'est pas valide
    car on ne sait pas si c'est 'aaaa:0:0:1:0:0:0:0' ou 'aaaa:0:0:0:0:1:0:0' ...

    'aaaa:0000:0000:0000:0001:0000:0000:0000' se formatte par 'aaaa::1:0:0:0' ou 'aaaa:0:0:0:1::'

    celui que j'avais mis semble marcher pour les adresses que j'ai essayé
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    '0000:0001:0002:0000:0a00:0001:0000:0000:0000'.replace(/(^|:)0{1,3}/g,"$1").replace(/((0:)|:)*(0:0)((:0)|:)*/, "::")

  14. #14
    Invité
    Invité(e)
    Par défaut
    Ben jtavouerai que je me suis pas embêter sur les tests.

    Je vous ai vu en proposer plein, je me suis dit qu'ils avaient intélligemment été choisis.
    Donc le test 'aaaa::1::0' n'est pas valide, ben ui.

    Après on peut tester l'ip
    f:f

    la regex donnera aussi f:f, pourtant l'ip qu'on teste est pas valide non plus...

    Mais bon, chui ok que j'aurais pas du recopier toutes les ip de tests sans les regarder ...

  15. #15
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    252
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 252
    Points : 46
    Points
    46
    Par défaut
    a priori ce que t'a fait est bon
    tes deux derniers regex pourrait pas etre compacté en un?
    si au final il est plus court je le prend!

  16. #16
    Invité
    Invité(e)
    Par défaut
    je sais pas, chui pas un pro de la regex, j'imagine que oui, mais bon...

    de toute façon, ya aucun intérêt à la faire plus courte pour la rendre illisible.

  17. #17
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    252
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 252
    Points : 46
    Points
    46
    Par défaut
    ok galerien 69

    en fait tes deux derniers regex je les remplace par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    .replace(/(^|:)0{1,3}/g,"$1")
    sinon, ton premier regex m'interesse,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    .replace(/([0]{1,4}:)+/, ':');
    par contre marche pas sur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    'aaaa:0000:00e0:0000:0f00:0000:0001:0000:0000:0000'.replace(/([0]{1,4}:)+/, ':').replace(/(^|:)0{1,3}/g,"$1");
    "aaaa::e0:0:f00:0:1:0:0:0"
    "aaaa:0:e0:0:f00:0:1::" //<-ce qu'il faut avoir
    mon regex ne marche pas non plus
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    'aaaa:0000:00e0:0000:0f00:0000:0001:0000:0000:0000'.replace(/(^|:)0{1,3}/g,"$1").replace(/((0:)|:)*(0:0)((:0)|:)*/, "::")
    "aaaa:0:e::f00:0:1:0:0:0"
    "aaaa:0:e0:0:f00:0:1::" //<-ce qu'il faut avoir

    j'ai changé ton regex en: peut etre que ça marche, je dois essayer d'autres adresses
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    'aaaa:0000:00e0:0000:0f00:0000:0001:0000:0000:0000'.replace(/([0]{4}:*){2,}/, ':').replace(/(^|:)0{1,3}/g,"$1");
    "aaaa:0:e0:0:f00:0:1::"
    "aaaa:0:e0:0:f00:0:1::" //<-ce qu'il faut avoir

  18. #18
    Invité
    Invité(e)
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    .replace(/([0]{2,4}:)+/, ':');
     
    (c'est {2,4} au lieu de {1,4}
    ben non.

    Si tu mets {2,4}, ca veut dire que si t'as une suite
    0:00:0:
    tu vas juste remplacer
    0::0, ce n'est pas désiré.

    sinon, je sais pas ce que veut dire

  19. #19
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    252
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 252
    Points : 46
    Points
    46
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    'aaaa:0000:00e0:0000:0f00:0000:0001:0000:0000:0000'.replace(/([0]{1,4}:)+/, ':');
    "aaaa::00e0:0000:0f00:0000:0001:0000:0000:0000"//<- pas correct
    "aaaa:0000:00e0:e0:0000:0f00:0000:0001::" //<- correct
    (^| parenthèse capturant le début de la chaine ou occurence de ':'

    edit
    en gros voilà le truc qui marche
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    ip='0000:a000:0000:00e0:0000:0f00:0000:0001:0000:0000:0000' //pour tester la fin
    ip='0000:0000:a000:0000:00e0:0000:0f00:0000:0001:0000:0000:0000' //pour tester le debut
    ip=':'+ip+':'
    ip=ip.replace(/(0{4}:){2,}/, ':').replace(/(^|:)0{1,3}/g,"$1")
    if (ip.indexOf('::')!=0) ip=ip.substring(1) //on enlève le ':' du début
    if (ip.indexOf('::')!=ip.length-2) ip=ip.substring(0,ip.length-1) //on enlève le ':' du début
    ip
    très moche c'est pour ça que si un regex peut faire ça, ce serait top

    edit2
    j'aurai juste besoin d'aide ce regex marche presque (sauf le 0 final)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    ip='0000:a000:0000:00e0:0000:0f00:0000:0001:0000:0000:0000'
    ip=ip.replace(/(^|:)0{1,3}/g,"$1").replace(/(^|:)(0:){2,}|(:0){2,}(:|$)/, '::')
    "0:a000:0:e0:0:f00:0:1::0"

Discussions similaires

  1. Changement d'addresse IP sous Debian
    Par [_Key_Zee__] dans le forum Réseau
    Réponses: 5
    Dernier message: 09/02/2010, 13h06
  2. Connaître son addresse IP
    Par LE NEINDRE dans le forum Modules
    Réponses: 3
    Dernier message: 27/09/2005, 10h35
  3. Réponses: 10
    Dernier message: 22/02/2005, 16h11
  4. exception c0000025 at address 77FB1B2C (RtlTraceDatabaseEnu
    Par toumoham dans le forum Bases de données
    Réponses: 1
    Dernier message: 04/11/2004, 10h16
  5. [Turbo Pascal] [MS-DOS] Lire la Mac-address de la carte réseau
    Par toctoc dans le forum Turbo Pascal
    Réponses: 14
    Dernier message: 21/02/2003, 22h08

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo