レッスンに戻る

MAC アドレスをチェックする

ネットワークインターフェースの MAC アドレス はコロンで区切られた6つの2桁の16進数で構成されています。

例: '01:32:54:67:89:AB'.

文字列が MAC アドレスかどうかをチェックする正規表現を書いてください。

使用方法:

let reg = /your regexp/;

alert( reg.test('01:32:54:67:89:AB') ); // true

alert( reg.test('0132546789AB') ); // false (コロンなし)

alert( reg.test('01:32:54:67:89') ); // false (5 個, 6 個である必要があります)

alert( reg.test('01:32:54:67:89:ZZ') ) // false (末尾が ZZ)

2桁の16進数は [0-9a-f]{2} (i フラグが有効である想定)です。

数値 NN, そして続いて :NN が5回繰り返される必要があります。:

正規表現は: [0-9a-f]{2}(:[0-9a-f]{2}){5} です。

次に、マッチはテキスト全体を捉える必要があります。: 先頭から始まり、末尾で終わりです。これは ^...$ でパターンをラップすることで実現できます。

最終的に:

let reg = /^[0-9a-fA-F]{2}(:[0-9a-fA-F]{2}){5}$/i;

alert( reg.test('01:32:54:67:89:AB') ); // true

alert( reg.test('0132546789AB') ); // false (コロンなし)

alert( reg.test('01:32:54:67:89') ); // false (5 個, 6 個である必要があります)

alert( reg.test('01:32:54:67:89:ZZ') ) // false (末尾が ZZ)