首页 新闻 会员 周边

同一个正则表达式,同一个MAC地址有时候能验证通过,有时候却不能,见鬼了!

0
[已解决问题] 解决于 2018-10-28 15:45

正则表达式:

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地址有时候能验证通过,有时候却不能,见鬼了!

我就不明白了,为什么有时候可以有时候不行,真的烦人!

大da脸的主页 大da脸 | 初学一级 | 园豆:73
提问于:2018-10-26 16:27
< >
分享
最佳答案
0

你怎么知道是同一个MAC地址?你怎么得到MAC地址的?

奖励园豆:5
dudu | 高人七级 |园豆:30994 | 2018-10-26 16:42

因为这个问题是在我本机上测试得到的,

大da脸 | 园豆:73 (初学一级) | 2018-10-26 16:47

MAC获取是手动获取的

大da脸 | 园豆:73 (初学一级) | 2018-10-26 16:48

@大da脸: 可能是MAC地址中包含了不可见字符,建议在匹配前对 MAC 地址字符串进行 Trim()

dudu | 园豆:30994 (高人七级) | 2018-10-26 17:31
其他回答(1)
0

我宁可相信是你看错了,再仔细看看

会长 | 园豆:12401 (专家六级) | 2018-10-26 17:50
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册