检查 MAC 地址
MAC 地址 是网络接口的 6 个两位十六进制数字,用冒号隔开。
例如:'01:32:54:67:89:AB'
。
编写一个正则表达式来检查字符串是否为 MAC 地址。
用法
let regexp = /your regexp/;
alert( regexp.test('01:32:54:67:89:AB') ); // true
alert( regexp.test('0132546789AB') ); // false (no colons)
alert( regexp.test('01:32:54:67:89') ); // false (5 numbers, must be 6)
alert( regexp.test('01:32:54:67:89:ZZ') ) // false (ZZ at the end)
两位十六进制数字是 [0-9a-f]{2}
(假设设置了标志 i
)。
我们需要这个数字 NN
,然后是 :NN
重复 5 次(更多数字);
正则表达式是:[0-9a-f]{2}(:[0-9a-f]{2}){5}
现在让我们证明匹配应该捕获所有文本:从开头开始,到结尾结束。这可以通过将模式包裹在 ^...$
中来完成。
最后
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 (no colons)
alert( regexp.test('01:32:54:67:89') ); // false (5 numbers, need 6)
alert( regexp.test('01:32:54:67:89:ZZ') ) // false (ZZ in the end)