[转]常用函数集(检验日期,身份证十五位身份证为十八位,得到字符的ASCII码)
/// <summary>
/// 检验日期格式是否正确
/// </summary>
public string IsDateFormat(string strDate)
------------------------------------------------------------------------------------------
/// <summary>
/// 检验Email字符串格式是否正确
/// </summary>
public bool IsEmailFormat(string strEmail)
------------------------------------------------------------------------------------------
/// <summary>
/// 转换十五位身份证为十八位的函数。
/// </summary>
public string ConvertIDCard15to18(string strTemp)
------------------------------------------------------------------------------------------
下在为判断ASCII码的函数组,仅支持中英文
/// <summary>
/// 是否为双字节字符。
/// </summary>
public static bool IsTwoBytesChar(char chr)
{
string str =chr.ToString();
// 使用中文支持编码
Encoding ecode = Encoding.GetEncoding("GB18030");
if (ecode.GetByteCount(str) == 2)
{
return true;
}
else
{
return false;
}
}
/// <summary>
/// 得到字符的ASCII码
/// </summary>
public static int ASCII(char chr)
{
Encoding ecode = Encoding.GetEncoding("GB18030");
Byte[] codeBytes = ecode.GetBytes(chr.ToString());
if ( IsTwoBytesChar(chr) )
{
// 双字节码为高位乘256,再加低位
// 该为无符号码,再减65536
return (int)codeBytes[0] * 256 + (int)codeBytes[1] - 65536;
}
else
{
return (int)codeBytes[0];
}
}
/// 检验日期格式是否正确
/// </summary>
public string IsDateFormat(string strDate)
------------------------------------------------------------------------------------------
/// <summary>
/// 检验Email字符串格式是否正确
/// </summary>
public bool IsEmailFormat(string strEmail)
------------------------------------------------------------------------------------------
/// <summary>
/// 转换十五位身份证为十八位的函数。
/// </summary>
public string ConvertIDCard15to18(string strTemp)
------------------------------------------------------------------------------------------
下在为判断ASCII码的函数组,仅支持中英文
/// <summary>
/// 是否为双字节字符。
/// </summary>
public static bool IsTwoBytesChar(char chr)
{
string str =chr.ToString();
// 使用中文支持编码
Encoding ecode = Encoding.GetEncoding("GB18030");
if (ecode.GetByteCount(str) == 2)
{
return true;
}
else
{
return false;
}
}
/// <summary>
/// 得到字符的ASCII码
/// </summary>
public static int ASCII(char chr)
{
Encoding ecode = Encoding.GetEncoding("GB18030");
Byte[] codeBytes = ecode.GetBytes(chr.ToString());
if ( IsTwoBytesChar(chr) )
{
// 双字节码为高位乘256,再加低位
// 该为无符号码,再减65536
return (int)codeBytes[0] * 256 + (int)codeBytes[1] - 65536;
}
else
{
return (int)codeBytes[0];
}
}