Verificar dirección MAC
La Dirección MAC de una interfaz de red consiste en 6 números hexadecimales de dos dígitos separados por dos puntos.
Por ejemplo: '01:32:54:67:89:AB'.
Escriba una expresión regular que verifique si una cadena es una Dirección MAC.
Uso:
let regexp = /your regexp/;
alert( regexp.test('01:32:54:67:89:AB') ); // true
alert( regexp.test('0132546789AB') ); // false (sin dos puntos)
alert( regexp.test('01:32:54:67:89') ); // false (5 números, necesita 6)
alert( regexp.test('01:32:54:67:89:ZZ') ) // false (ZZ al final)
Un número hexadecimal de dos dígitos es [0-9a-f]{2} (suponiendo que se ha establecido el indicador i).
Necesitamos ese número NN, y luego :NN repetido 5 veces (más números);
La expresión regular es: [0-9a-f]{2}(:[0-9a-f]{2}){5}
Ahora demostremos que la coincidencia debe capturar todo el texto: comience por el principio y termine por el final. Eso se hace envolviendo el patrón en ^...$.
Finalmente:
let regexp = /^[0-9a-f]{2}(:[0-9a-f]{2}){5}$/i;
alert( regexp.test('01:32:54:67:89:AB') ); // true
alert( regexp.test('0132546789AB') ); // false (sin dos puntos)
alert( regexp.test('01:32:54:67:89') ); // false (5 números, necesita 6)
alert( regexp.test('01:32:54:67:89:ZZ') ) // false (ZZ al final)