MAC address validation

Q

According to the IEEE 802 specification, a MAC address has 6 groups of 2 hexadecimal digits separated by "-" or ":". For example, 0a-1b-3c-4d-5e-6f is a valid MAC address.

How to write a single regular expression to validate a MAC address described above?

✍: FYIcenter.com

A

Here is the regular expression for MAC address validation:

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

^ - begin of the string
[0-9A-Fa-f] - any hex digit
{2} - repeating 2 times
: - a single :
{5} - repeating 5 times
| - the OR logic
([0-9A-Fa-f]{2}-){5} - 5 times of 2 hex digits followed by -
$ - end of the string

Click the button to test this regular expression here online:

2020-08-03, 0👍, 6💬