我正在使用PHP中的会计工具连接到CISCO交换机并在指定端口上插入MAC地址。我使用Symfony作为我的底层php框架。
如果我尝试将多播MAC地址作为FastEthernet安全地址插入,则CISCO交换机会拒绝该地址。所以我尝试构建一个验证器,确定给定的MAC地址是否是多播地址。
那里有人可以用片段或小费来帮助我吗?
答案 0 :(得分:0)
试试这个代码段:
function isPhysicalAddress($address){
if (strlen($address) > 17) return 0;
if ($address == "") return 0;
if (!eregi("^[0-9A-Z]+(\-[0-9A-Z]+)+(\-[0-9A-Z]+)+(\-[0-9A-Z]+)+(\-[0-9A-Z]+)+(\-[0-9A-Z]+)$", $address)) return 0;
$arr=explode("-",$address);
if (strlen($arr[0]) != 2) return 0;
if (strlen($arr[1]) != 2) return 0;
if (strlen($arr[2]) != 2) return 0;
if (strlen($arr[3]) != 2) return 0;
if (strlen($arr[4]) != 2) return 0;
if (strlen($arr[5]) != 2) return 0;
return 1;
}
找到here。