NewIntroducing QODEX QA Services — platform-powered QA for API-driven teams.Learn more →
Validateur regex JavaScript pour adresses MAC

Validateur regex JavaScript pour adresses MAC

Validez facilement les adresses MAC dans vos projets JavaScript grâce à notre Validateur regex JavaScript pour adresses MAC. Indispensable pour les tests API et les développeurs gérant des réseaux, l'identification d'appareils et des tâches de configuration, cet outil garantit que les entrées d'adresses MAC respectent le format correct. Associez-le au Testeur regex JavaScript pour expérimenter des patterns personnalisés, ou essayez le Validateur regex JavaScript pour adresses IP pour valider des données réseau connexes. Pour les applications frontend, utilisez-le avec le Validateur regex JavaScript pour mots de passe afin de sécuriser les données utilisateur avec des contrôles d'entrée stricts.

Validateur regex JavaScript pour adresses MAC - Documentation

Qu'est-ce que le regex pour adresses MAC ?

Une adresse MAC (Media Access Control) est un identifiant unique attribué aux interfaces réseau. Elle apparaît généralement au format 00:1A:2B:3C:4D:5E ou 00-1A-2B-3C-4D-5E, avec des chiffres hexadécimaux séparés par des deux-points ou des tirets.

En JavaScript, nous pouvons utiliser des expressions régulières (regex) pour vérifier si une chaîne respecte cette structure avant de l'utiliser dans la mise en réseau, l'identification d'appareils ou le filtrage des accès.

Pattern regex pour les adresses MAC

Le regex couramment utilisé pour valider les adresses MAC est :

^([0-9A-Fa-f]{2}[:-]){5}([0-9A-Fa-f]{2})$

Ce pattern accepte :

  • Six groupes de deux caractères hexadécimaux

  • Séparés par : ou -

  • Insensible à la casse (grâce à [A-Fa-f])

Comment valider une adresse MAC avec regex en JavaScript

Voici un exemple JavaScript complet :

function isValidMacAddress(mac) {
  const macRegex = /^([0-9A-Fa-f]{2}[:-]){5}([0-9A-Fa-f]{2})$/;
  return macRegex.test(mac);
}

console.log(isValidMacAddress("00:1A:2B:3C:4D:5E")); // true console.log(isValidMacAddress("00-1A-2B-3C-4D-5E")); // true console.log(isValidMacAddress("001A.2B3C.4D5E")); // false

Validation des adresses MAC en Python

Si vous préférez travailler en Python, voici une approche concise :

import re

def is_valid_mac(mac): """ Vérifie si la chaîne fournie est une adresse MAC valide (supporte les notations deux-points et tiret) """ mac_regex = re.compile( r"^([0-9A-Fa-f]{2}[:-]){5}([0-9A-Fa-f]{2})$" ) return bool(mac_regex.match(mac.strip()))

test_cases = [ "01-23-45-67-89-AB", # True "01:23:45:67:89:AB", # True "0123.4567.89AB", # False "01-23-45-67-89-AH", # False (H n'est pas hexadécimal) "01-23-45-67-AH", # False (groupes manquants) ]

for mac in test_cases: print(f"{mac}: {is_valid_mac(mac)}")

Validation des adresses MAC avec regex en Java

Si vous travaillez en Java, les expressions régulières offrent une solution fiable, similaire à JavaScript. Voici un exemple concis :

import java.util.regex.Pattern;

public class MacAddressValidator { private static final Pattern MAC_REGEX = Pattern.compile( "^([0-9A-Fa-f]{2}[:-]){5}([0-9A-Fa-f]{2})$" );

public static boolean isValidMac(String input) {
    return input != null && MAC_REGEX.matcher(input).matches();
}

}

// Exemple d'utilisation : System.out.println(isValidMac("01-23-45-67-89-AB")); // true System.out.println(isValidMac("01:23:45:67:89:AB")); // true System.out.println(isValidMac("0123.4567.89AB")); // true System.out.println(isValidMac("01-23-45-67-89-AH")); // false

Validation des adresses MAC en C# avec des expressions régulières

Si vous avez besoin de valider des adresses MAC en C#, le processus est très similaire. Voici comment vérifier si une chaîne est une adresse MAC valide :

using System.Text.RegularExpressions;

bool IsValidMacAddress(string input) { var macRegex = new Regex( @"^([0-9A-Fa-f]{2}[:-]){5}([0-9A-Fa-f]{2})$" ); return !string.IsNullOrEmpty(input) && macRegex.IsMatch(input); }

Console.WriteLine(IsValidMacAddress("01-23-45-67-89-AB")); // true Console.WriteLine(IsValidMacAddress("01:23:45:67:89:AB")); // true Console.WriteLine(IsValidMacAddress("0123.4567.89AB")); // true Console.WriteLine(IsValidMacAddress("01-23-45-67-89-AH")); // false

Complexité temporelle et spatiale de la validation regex

Lorsque vous vérifiez si une adresse MAC correspond à l'expression régulière, le moteur regex examine chaque caractère de la chaîne d'entrée une seule fois, ce qui rend la validation linéaire par rapport à la longueur de l'entrée : O(N). Quant à l'espace, quelle que soit la taille de l'entrée, la validation regex JavaScript utilise une quantité fixe de mémoire supplémentaire. La complexité spatiale reste donc O(1), ce qui garantit des performances légères même pour un grand volume d'adresses.

Cas d'utilisation réels

  • Configuration réseau : Validez les adresses MAC avant de les stocker ou de les utiliser dans des outils de configuration de routeurs ou de serveurs.

  • Gestion d'appareils : Identifiez et vérifiez les appareils dans les écosystèmes IoT.

  • Contrôle d'accès : Autorisez ou bloquez des adresses MAC spécifiques dans les systèmes sensibles à la sécurité.

  • Validation des entrées de formulaires : Assurez-vous que les utilisateurs ne saisissent pas de formats MAC invalides dans les applications web.

Conseils pratiques

  • Supprimez toujours les espaces en début et fin de chaîne avant la validation.

  • Le regex sert à vérifier le format, pas la légitimité. Une adresse MAC syntaxiquement valide peut ne pas exister réellement.

  • Prenez en charge les formats : et - si votre application gère différentes sources.

  • Envisagez d'utiliser l'Encodeur base64 pour le stockage ou la transmission sécurisée.

  • Utilisez-le en combinaison avec le Générateur de tokens pour attribuer des tokens d'appareils uniques après validation.

Métacaractères JavaScript utilisés

  • ^ : Ancre le regex au début de la chaîne.

  • $ : Ancre le regex à la fin de la chaîne.

  • [0-9A-Fa-f] : Fait correspondre un seul caractère hexadécimal (insensible à la casse).

  • {2} : Quantificateur : exactement 2 caractères.

  • [:-] : Correspond à ':' ou '-'.

  • {5} : Quantificateur : fait correspondre le groupe 5 fois.

  • (...) : Groupe capturant.

Exemples d'entrées regex

  1. "01:23:45:67:89:AB" : Valide

  2. "01-23-45-67-89-AB" : Valide

  3. "0123.4567.89AB" : Invalide

  4. "G1:23:45:67:89:ZZ" : Invalide

Combinez avec ces outils

Frequently Asked Questions

Puis-je utiliser ce regex pour valider des adresses MAC avec des points (.) comme les formats Cisco ?

Non. Ce validateur prend uniquement en charge les formats avec deux-points : et tiret -. Vous aurez besoin d'un pattern personnalisé pour les formats Cisco.

La validation MAC est-elle sensible à la casse ?

Non. Le pattern utilise [A-Fa-f] pour prendre en charge les lettres hexadécimales en majuscules et en minuscules.

Ce regex peut-il détecter les vraies adresses MAC ?

Il vérifie uniquement le format, pas si une adresse MAC est attribuée ou en cours d'utilisation. Vous aurez besoin d'un registre d'appareils ou d'un outil ARP pour cela.

Dois-je valider les adresses MAC côté client ou serveur ?

Validez toujours des deux côtés. Utilisez JavaScript pour la validation frontend et le regex dans la logique backend pour la sécurité.

Que se passe-t-il si j'entre des deux-points ou tirets supplémentaires ?

Le regex retournera false. Seules les chaînes correctement formatées correspondront.

Testez vos API dès aujourd'hui !

Rédigez en langage naturel, Qodex génère des tests sécurisés et prêts à l'emploi.