我有以下内容,我用来检查有效的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:6f
或e7-f8-90-0a-1b
我现在需要考虑另一个只有6套十六进制且没有分隔符的非标准符号...所以1a2b3c4d5e6f
是可以接受的。我现在如何制作:或 - 可选?
答案 0 :(得分:2)
您可以使用[:-]?
代替[:-]
。
唯一的问题是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
它不那么美丽但是有效
答案 1 :(得分:0)
var regexMac = /^([0-9a-fA-F]{2}\W){6}$/i