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