请问各位C#高手,当我输入一个地址的时候,怎么check这个地址是格式正确的mac地址呢?
谢谢了。

解决方案 »

  1.   

    你是说判断格式是否正确吗?
    可以用正则表达式
    Regex r = new Regex(@"^(
    [0-9A-F][0-9A-F]-[0-9A-F][0-9A-F]-[0-9A-F][0-9A-F]-[0-9A-F][0-9A-F]-[0-9A-F][0-9A-F]-[0-9A-F][0-9A-F])$");
    用if (r.IsMatch(s));来判断
    如果验证是否是本机MAC
    请参考
    http://blog.csdn.net/orichisonic/archive/2009/07/01/4312247.aspx
    记得结贴啊。
      

  2.   


    string pattrn = @"(^[0-9a-fA-F][0-9a-fA-F]:[0-9a-fA-F][0-9a-fA-F]:[0-9a-fA-F][0-9a-fA-F]:[0-9a-fA-F][0-9a-fA-F]:[0-9a-fA-F][0-9a-fA-F]:[0-9a-fA-F][0-9a-fA-F]$)";
    if (!System.Text.RegularExpressions.Regex.IsMatch( Request.Form["HostMac"], pattrn))
    {
    Response.Write("<script language='javascript'>alert('MAC输入不合法!');history.go(-1);</script>");
       Response.End();}
      

  3.   

    [A-F\d]{2}:[A-F\d]{2}:[A-F\d]{2}:[A-F\d]{2}:[A-F\d]{2}:[A-F\d]{2}^([0-9a-fA-F]{2})(([/\s:-][0-9a-fA-F]{2}){5})$ 
      

  4.   

    MAC 地址编码是有规范的, 你查一下规范, 根据规范来验证才行.只记得里头有厂商的代码, 而厂商是有限的, 也就是有定义域.
      

  5.   

    [0-9a-fA-F]里面的a-f到底要不要呢?