Regex für MAC-Adresse

Mit /^(?:[0-9A-Fa-f]{2}[:-]){5}[0-9A-Fa-f]{2}$/ prüfst du, ob ein ganzer String eine gültige MAC-Adresse ist. Jedes Beispiel unten wurde gegen das Muster getestet, und du kannst es mit den vorgeladenen Beispielen im Regex Tester öffnen.

Aktualisiert am

/^(?:[0-9A-Fa-f]{2}[:-]){5}[0-9A-Fa-f]{2}$/
Im Regex Tester öffnen
EingabeErgebnis
00:1A:2B:3C:4D:5E✓ Treffer
00-1a-2b-3c-4d-5e✓ Treffer
001A2B3C4D5E✗ Kein Treffer
00:1A:2B:3C:4D✗ Kein Treffer
00:1G:2B:3C:4D:5E✗ Kein Treffer

So funktioniert das Muster

TeilBedeutung
[0-9A-Fa-f]{2}Zwei Hex-Ziffern
[:-]Ein Doppelpunkt- oder Bindestrich-Trennzeichen
(?:…){5}Fünf Paare mit Trennzeichen
[0-9A-Fa-f]{2}$Das sechste Paar

Code-Beispiele

JavaScript

const re = /^(?:[0-9A-Fa-f]{2}[:-]){5}[0-9A-Fa-f]{2}$/;
re.test(value); // true or false

Python

import re

bool(re.fullmatch(r'(?:[0-9A-Fa-f]{2}[:-]){5}[0-9A-Fa-f]{2}', value))

PHP

preg_match('/^(?:[0-9A-Fa-f]{2}[:-]){5}[0-9A-Fa-f]{2}$/', $value) === 1;

Hinweise und Einschränkungen

Dieses Muster erlaubt gemischte Trennzeichen (00:1A-2B…). Erfasse das erste Trennzeichen und verwende es per Rückverweis wieder — ^[0-9A-Fa-f]{2}([:-])(?:[0-9A-Fa-f]{2}\1){4}[0-9A-Fa-f]{2}$ — um Einheitlichkeit zu erzwingen.

Häufige Fragen

Wie lautet der Regex für MAC-Adressen?
/^(?:[0-9A-Fa-f]{2}[:-]){5}[0-9A-Fa-f]{2}$/ — er passt auf den gesamten String. In der Tabelle oben siehst du, was jeder Teil macht.
Welche Beispiele passen?
Von den getesteten Beispielen passen diese: 00:1A:2B:3C:4D:5E, 00-1a-2b-3c-4d-5e. Die anderen nicht.
Wie teste ich diesen Regex?
Klicke auf „Im Regex Tester öffnen“ — Muster, Flags und Beispieltext werden automatisch geladen, und Treffer werden beim Bearbeiten markiert.