レッスンに戻る

MAC アドレスのチェック

MAC アドレスは、ネットワークインターフェイスで、6 つの 2 桁 16 進数のグループをコロンで区切った形式。

例: '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)

2 桁 16 進数は [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)