我使用C#和ASP.NET 4 WebControls。
我的页面上有一个文本框,用户可以输入十六进制格式的HTML颜色(ff0000)或HTML格式的颜色(“红色”)。
我的初步想法是写一个正则表达式来验证用户的输入,但我想到了一个简单的方法,检查输入的颜色是否可以转换为可用于System.Drawing上下文的有效颜色。
以下是我的代码。它返回一个布尔数据类型,指示操作是否成功。目前它工作得很好,但我想知道:
- 我的方法写得好吗?
- 你知道更好的方法吗?
感谢您的考虑。
using SD = System.Drawing;
protected static bool CheckValidFormatHtmlColor(string inputColor)
{
try
{
SD.Color myColor = SD.ColorTranslator.FromHtml(inputColor);
return true;
}
catch (Exception ex)
{
return false;
}
}