日期:2014-05-17  浏览次数:20969 次

C#如何判断一个字符串是16进制字符串
小弟最近要做MAC地址的合法性检测……现在卡在一个很简单的问题死活绕不出去了……就是我有一个字符串,我需要判断这个字符串是否是由16进制数(数字1到9,不区分大小写的A到F)组成,我能想到的方法是从字符串中一个一个的循环截取出其中的每一个字符,再利用一些正则表达式来判断,请问下各位大大……判断的代码应该怎么写啊,麻烦给下大致的代码,谢谢!

------解决方案--------------------
string a = "00ff0121a";
string b = "abcdefg ok";
bool isHexa = Regex.IsMatch(a, "^[0-9A-Fa-f]+$");
bool isHexb = Regex.IsMatch(b, "^[0-9A-Fa-f]+$");

------解决方案--------------------
(?i)^[0-9a-f]+$