繁体   English   中英

JavaScript 的 MAC 地址正则表达式

[英]MAC address regex for JavaScript

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

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

例如

AA-BB.CC.DD.EE.FF  

按照上面的正则表达式它是真的,但我想在整个 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}$

不区分大小写的修饰符i想进行不区分大小写的匹配。

演示

> /^[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}[:-])重复{5}次,这给了我们例如: 2F:3D:A9:B6:3F: 然后我们有相同的字符集[0-9A-F]重复{2}次。

提供的答案很好,但我会添加小写字母和点 (.) 分隔符。 此外,每个位置只有一个字母或数字的 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}$

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM