Javascript:使用Regex从自由格式文本中提取MAC代码

时间:2014-07-08 16:22:11

标签: javascript regex

我正在尝试编写一个Chrome扩展程序,它会扫描网页上的有效MAC代码并将每个扩展到一个数组。我有一个验证MAC的正则表达式,但我不能让它匹配多个代码。

以下是我的代码的快速摘录:

var regex = /^([0-9A-F]{2}[:-]){5}([0-9A-F]{2})$/;
var body = document.body.innerText.replace(/\n/g,' ');

console.log(body.match(regex));

var occur = regex.exec(body);

console.log(occur);

非常感谢。

2 个答案:

答案 0 :(得分:1)

  

MAC地址通常是6组,每组两个十六进制数字(0-9,A,B,C,D,E,F),用冒号(:)或连字符( - )分隔。

你在找这个吗?

/([0-9A-F]{2}(?:[:-][0-9A-F]{2}){5})/g

Online demo

从索引1获取匹配的组。

答案 1 :(得分:1)

删除字符串^的开头和字符串$锚点的结尾,并使用g全局)修饰符。

var regex = /([0-9A-F]{2}[:-]){5}([0-9A-F]{2})/g

如文件中所述......

  

g 修饰符用于执行全局匹配(查找所有匹配项,而不是在第一次匹配后停止)