簡體   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