正则表达式:
private static Regex RegMac = new Regex(@"^([0-9a-fA-F]{2})(([/\s:-][0-9a-fA-F]{2}){5})$");//Mac地址
MAC地址:
物理地址: 90-2B-34-0E-20-FF
//判断MAC public static bool IsMac(string inputData) { return publicValidate(inputData, RegMac); } //公共验证调用方法 public static bool publicValidate(string str, Regex regex) { if (string.IsNullOrEmpty(str)) { return false; } return regex.Match(str).Success; }
验证!!
if (!PageValidate.IsMac(td_mac)) return "Mac地址不能为空或格式不正确";
最终验证结果,有时候能验证通过,有时候就不行,验证通过的时候,可以正常添加,验证不通过的时候,我调试跳过验证,直接添加进数据库,结果数据库里就多了个?号的特殊符号,绝望。。。
同一个正则表达式,同一个MAC地址有时候能验证通过,有时候却不能,见鬼了!
我就不明白了,为什么有时候可以有时候不行,真的烦人!
你怎么知道是同一个MAC地址?你怎么得到MAC地址的?
因为这个问题是在我本机上测试得到的,
MAC获取是手动获取的
@大da脸: 可能是MAC地址中包含了不可见字符,建议在匹配前对 MAC 地址字符串进行 Trim()
我宁可相信是你看错了,再仔细看看