Regex para dirección MAC

Usa /^(?:[0-9A-Fa-f]{2}[:-]){5}[0-9A-Fa-f]{2}$/ para comprobar que una cadena completa es una dirección MAC válida. Cada ejemplo de abajo se ha probado con el patrón, y puedes abrirlo en el Regex Tester con las muestras ya cargadas.

Actualizado el

/^(?:[0-9A-Fa-f]{2}[:-]){5}[0-9A-Fa-f]{2}$/
Abrir en Regex Tester
EntradaResultado
00:1A:2B:3C:4D:5E✓ Coincide
00-1a-2b-3c-4d-5e✓ Coincide
001A2B3C4D5E✗ No coincide
00:1A:2B:3C:4D✗ No coincide
00:1G:2B:3C:4D:5E✗ No coincide

Cómo funciona el patrón

ParteSignificado
[0-9A-Fa-f]{2}Dos dígitos hexadecimales
[:-]Un separador de dos puntos o guion
(?:…){5}Cinco pares con separadores
[0-9A-Fa-f]{2}$El sexto par

Ejemplos de código

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;

Notas y limitaciones

Este patrón permite separadores mixtos (00:1A-2B…). Captura el primer separador y reutilízalo con una referencia inversa — ^[0-9A-Fa-f]{2}([:-])(?:[0-9A-Fa-f]{2}\1){4}[0-9A-Fa-f]{2}$ — para exigir consistencia.

Preguntas frecuentes

¿Cuál es la regex para dirección MAC?
/^(?:[0-9A-Fa-f]{2}[:-]){5}[0-9A-Fa-f]{2}$/ — coincide con la cadena completa. Consulta la tabla de arriba para ver qué hace cada parte.
¿Qué ejemplos coinciden?
De los ejemplos probados, estos coinciden: 00:1A:2B:3C:4D:5E, 00-1a-2b-3c-4d-5e. Los demás no.
¿Cómo pruebo esta regex?
Haz clic en «Abrir en Regex Tester»: el patrón, los flags y el texto de muestra se cargan automáticamente, y las coincidencias se resaltan mientras editas.