返回课程

检查 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)