JavaScript的MAC地址正则表达式

MAC address regex for JavaScript

本文关键字:正则表达式 地址 MAC JavaScript      更新时间:2023-09-26

我已经从这个regex链接中获得了Javascript regex。但它的匹配也混合了MAC地址的模式

/^([0-9a-f]{1,2}['.:-]){5}([0-9a-f]{1,2})$/i

例如

AA-BB.CC.DD.EE.FF  

根据上面的regex,这是真的,但我想在整个mac地址中匹配相同的量词。根据我的要求,上面的mac地址是错误的。

所以,请帮助我如何匹配相同的量词。即,对于点(.),找到5,而不是与破折号(-)和冒号相同的混合模式

^[0-9a-f]{1,2}(['.:-])(?:[0-9a-f]{1,2}'1){4}[0-9a-f]{1,2}$

试试这个。请参阅演示。

https://regex101.com/r/tJ2mW5/12

如下更改正则表达式。

^[0-9a-f]{1,2}(['.:-])[0-9a-f]{1,2}(?:'1[0-9a-f]{1,2}){4}$

不区分大小写的修饰符CCD_ 1 heps进行不区分大小大小写的匹配。

演示

> /^[0-9a-f]{1,2}([.:-])[0-9a-f]{1,2}(?:'1[0-9a-f]{1,2}){4}$/i.test('AA-BB.CC.DD.EE.FF')
false
> /^[0-9a-f]{1,2}([.:-])[0-9a-f]{1,2}(?:'1[0-9a-f]{1,2}){4}$/i.test('AA.BB.CC.DD.EE.FF')
true
'b([0-9A-F]{2}[:-]){5}([0-9A-F]){2}'b

'b是类似于^$的锚,在被称为"单词边界"的位置匹配。

[0-9A-F]是重复{2}次的字符集。在字符集之后有:-,并且分组([0-9A-F]{2}[:-])被重复i0次,这给出了例如:2F:3D:A9:B6:3F:。然后,我们再次具有重复{2}次的相同字符集[0-9A-F]

提供的答案很好,但我会添加小写字母和句点(.)分隔符。此外,每个位置只有一个字母或数字的MAC地址也是无效的。

这里有一个正则表达式,它匹配数字、大写字母和小写字母,在每个位置检查两个字符,并允许使用分号(:)、短划线(-)或句点(.)作为分隔符。

^([0-9a-fA-F]{2}[:.-]){5}[0-9a-fA-F]{2}$ 

下面的正则表达式也将匹配没有分隔符的MAC地址(即像AABBCCDDEEFF这样的MAC地址),因为一些供应商表示的MAC地址没有分隔符。

^([0-9a-fA-F]{2}[:.-]?){5}[0-9a-fA-F]{2}$