1

我正在使用 PHP 中的计费工具,它连接到 CISCO 交换机并在指定端口上插入 MAC 地址。我使用 Symfony 作为我的底层 php 框架。

如果我尝试插入多播 MAC 地址作为 FastEthernet 安全地址,CISCO 交换机会拒绝该地址。所以我尝试构建一个验证器来确定给定的 MAC 地址是否是多播地址。

有没有人可以帮助我提供片段或提示?

4

1 回答 1

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;
}

在这里找到。

于 2011-01-21T03:34:16.883 回答