您的位置:首页 > 编程语言 > C#

C# 判断字符串是否为2进制,8进制,10进制,16进制

2018-02-10 14:07 531 查看
/// <summary>
/// 判断是否十六进制格式字符串
/// </summary>
/// <param name="str">字符串</param>
/// <returns>true 是  false 不是</returns>
public static bool IsHexadecimal(string str)
{
if (str == "")
return false;
const string PATTERN = @"[A-Fa-f0-9]+$";
bool sign = false;
for (int i = 0; i < str.Length; i++)
{
sign=System.Text.RegularExpressions.Regex.IsMatch(str[i].ToString(), PATTERN);
if (!sign)
{
return sign;
}
}
return sign;
}

/// <summary>
/// 判断是否八进制格式字符串
/// </summary>
/// <param name="str">字符串</param>
/// <returns>true 是  false 不是</returns>
public static bool IsOctal(string str)
{
if (str == "")
return false;
const string PATTERN = @"[0-7]+$";
bool sign = false;
for (int i = 0; i < str.Length; i++)
{
sign = System.Text.RegularExpressions.Regex.IsMatch(str[i].ToString(), PATTERN);
if (!sign)
{
return sign;
}
}
return sign;
}

/// <summary>
/// 判断是否二进制格式字符串
/// </summary>
/// <param name="str">字符串</param>
/// <returns>true 是  false 不是</returns>
public static bool IsBinary(string str)
{
if (str == "")
return false;
const string PATTERN = @"[0-1]+$";
bool sign = false;
for (int i = 0; i < str.Length; i++)
{
sign = System.Text.RegularExpressions.Regex.IsMatch(str[i].ToString(), PATTERN);
if (!sign)
{
return sign;
}
}
return sign;
}

/// <summary>
/// 判断是否十进制格式字符串
/// </summary>
/// <param name="str">字符串</param>
/// <returns>true 是  false 不是</returns>
public static bool IsDecimal(string str)
{
if (str == "")
return false;
const string PATTERN = @"[0-9]+$";
bool sign = false;
for (int i = 0; i < str.Length; i++)
{
sign = System.Text.RegularExpressions.Regex.IsMatch(str[i].ToString(), PATTERN);
if (!sign)
{
return sign;
}
}
return sign;
}
 原代码只能判断只要含有符合条件的字符就返回true,现修改为每个字符都要符合
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: