返回課程

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