MAC地址的正则表达式

regex for MAC address

本文关键字:正则表达式 地址 MAC      更新时间:2023-09-26

我使用以下内容来检查有效的MAC地址

function isMacValid(mac) {
    var regexMac = /^([0-9A-F]{2}[:-]){5}([0-9A-F]{2})$/i
    return regexMac.test(mac);
}

这适用于符合由连字符或冒号分隔的6个十六进制值标准的MAC地址。。。1a:2b:3c:4d:5e:6fe7-f8-90-0a-1b

我现在需要说明另一个非标准的符号,只有6组没有分隔符的十六进制。。。因此CCD_ 3将是可接受的。现在如何使:或-可选?

您可以使用[:-]?而不是[:-]

唯一的问题是1a:2b:3c:4d:5e6f和1a-2b:3c:4d:5e:6f将通过检查。因此,为了避免这种情况,我建议您更改:

var regexMac = /^([0-9A-F]{2}[:-]){5}([0-9A-F]{2})$/i

带有

var regexMac = /^((([0-9A-F]{2}:){5})|(([0-9A-F]{2}-){5})|([0-9A-F]{10}))([0-9A-F]{2})$/i

它不那么漂亮,但可以

var regexMac = /^([0-9a-fA-F]{2}'W){6}$/i