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 :

matcher une adresse d'ip


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Décembre 2009
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Décembre 2009
    Messages : 35
    Par défaut matcher une adresse d'ip
    bonjour

    soit la fonction suivante:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    function verifIP(ip)
    { 
        var reg = /^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$/
        if (reg.test(ip)==true) 
        { 
           alert('ip correct')
        } 
        //return (true);
        else
            {
                                    alert('ip incorrect')
            }
    }
    j'essai de vérifier avec une boucle et split si on est bien entre 0 et 254

    mais pas moyen ce qui me donne un résultat avec des ip complètement farfelus validé
    est ce que quelqu'un(e) a une piste
    merci par avance

  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 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    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 659
    Billets dans le blog
    1
    Par défaut
    Cette reg à l'air de vouloir fonctionner:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    /^(([0-9]{1}|([1-9]{2})|(1\d{2})|(2[0-4][0-9])|(25[0-4]))\.){2}(([0-9]{1}|([1-9]{2})|(1\d{2})|(2[0-4][0-9])|(25[0-4])))$/
    Elle est prévue pour des ip du type
    0.0.0 à 254.254.254 sans zéros initiaux

    mais il serait plus simple de splitter,
    de vérifier la longueur de l'array obtenu ==3,
    puis de tester soit
    si chacun des membres est inférieur à 254
    si chacun des membre matche une reg plus simple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    /^(([0-9]{1}|([1-9]{2})|(1\d{2})|(2[0-4][0-9])|(25[0-4]))
    tout dépend de si tu acceptes les zéros initiaux => 001.023.158
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

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

    Informations professionnelles :
    Activité : Urbaniste
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2004
    Messages : 4 205
    Par défaut
    une petite liste de regexp que j'utilise

    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    {
        'phone'            : /^[0-9]{2}(\.| )?[0-9]{2}(\.| )?[0-9]{2}(\.| )?[0-9]{2}(\.| )?[0-9]{2}$|^[0-9]{1}(\.| )?[0-9]{3}(\.| )?[0-9]{3}(\.| )?[0-9]{3}$/,
        'email'            : /^[0-9a-zA-Z_\-]+(\.)?[0-9a-zA-Z_\-]*@([0-9a-zA-Z_-]+\.)+[a-zA-Z]{2,4}$/,
        'word'             : /^[A-Z]?[a-zfl‡·‚„‰ÂÊÁËÈÍÎÏÌÓÔÒÚÛÙıˆ˘˙˚¸˝ˇ]+$|^[A-Z]+$/,
        'name'             : /^[A-Z]?['a-zfl‡·‚„‰ÂÊÁËÈÍÎÏÌÓÔÒÚÛÙıˆ˘˙˚¸˝ˇ]+(-[A-Z]?['a-zfl‡·‚„‰ÂÊÁËÈÍÎÏÌÓÔÒÚÛÙıˆ˘˙˚¸˝ˇ]+)?$|^[A-Z]+(-[A-Z]+)?$/,
        'IPV4'             : /^(((25[0-5])|(2[0-4][0-9])|(1?[0-9]{1,2}))\.){3}((25[0-5])|(2[0-4][0-9])|(1?[0-9]{1,2}))$/, // 192.168.1.1
        'IPV6'             : /^([A-Fa-f0-9]{4}\:){7}[A-Fa-f0-9]{4}$/, // A012:B123:C234:D345:E456:F567:A678:B789
        'macAddress'       : /^([A-Fa-f0-9]{2}\:){5}[A-Fa-f0-9]{2}$/ // A0:B1:C2:D3:E4:F5
    }

    A+JYT

Discussions similaires

  1. Quest ce qu'une adresse reseau publique ?
    Par WOLO Laurent dans le forum Développement
    Réponses: 3
    Dernier message: 09/08/2003, 12h35
  2. Réponses: 2
    Dernier message: 21/07/2003, 12h22
  3. Réponses: 5
    Dernier message: 25/03/2003, 17h27
  4. commande dos pour résoudre une adresse ip
    Par stephy dans le forum Développement
    Réponses: 2
    Dernier message: 17/12/2002, 14h04
  5. Comment récupérer une adresse MAC ?
    Par psau dans le forum Développement
    Réponses: 7
    Dernier message: 19/07/2002, 17h26

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