 
                    
                
         
    
    
    
	
	
		
	
		
		
		
			

 /**//// <summary>
 /**//// <summary>
 /// 检验日期格式是否正确
        /// 检验日期格式是否正确
 /// </summary>
        /// </summary>
 public string IsDateFormat(string strDate)#region public string IsDateFormat(string strDate)
        public string IsDateFormat(string strDate)#region public string IsDateFormat(string strDate)
 public string IsDateFormat(string strDate)
        public string IsDateFormat(string strDate)

 
         {
{
 strDate = strDate.Trim();
            strDate = strDate.Trim();

 Regex r1 = new Regex(@"^(?<year>[1-9][0-9]{0,3})/(?<month>[0-9]{1,2})/(?<day>[0-9]{1,2})$");
            Regex r1 = new Regex(@"^(?<year>[1-9][0-9]{0,3})/(?<month>[0-9]{1,2})/(?<day>[0-9]{1,2})$");
 Regex r2 = new Regex(@"^(?<year>[1-9][0-9]{0,3})-(?<month>[0-9]{1,2})-(?<day>[0-9]{1,2})$");
            Regex r2 = new Regex(@"^(?<year>[1-9][0-9]{0,3})-(?<month>[0-9]{1,2})-(?<day>[0-9]{1,2})$");
 Regex r3 = new Regex(@"^(?<year>[1-9][0-9]{0,3})年(?<month>[0-9]{1,2})月(?<day>[0-9]{1,2})日$");
            Regex r3 = new Regex(@"^(?<year>[1-9][0-9]{0,3})年(?<month>[0-9]{1,2})月(?<day>[0-9]{1,2})日$");
 Regex r4 = new Regex(@"^(?<month>[0-9]{1,2})/(?<day>[0-9]{1,2})/(?<year>[1-9][0-9]{0,3})$");
            Regex r4 = new Regex(@"^(?<month>[0-9]{1,2})/(?<day>[0-9]{1,2})/(?<year>[1-9][0-9]{0,3})$");

 // 取得日期的年,月,日
            // 取得日期的年,月,日
 string year, month, date;
            string year, month, date;

 if(Regex.IsMatch(strDate,@"^(?<month>[0-9]{1,2})/(?<day>[0-9]{1,2})/(?<year>[1-9][0-9]{3})$"))
            if(Regex.IsMatch(strDate,@"^(?<month>[0-9]{1,2})/(?<day>[0-9]{1,2})/(?<year>[1-9][0-9]{3})$"))

 
             {
{
 year = r4.Match(strDate).Result("${year}");
                year = r4.Match(strDate).Result("${year}");
 month = r4.Match(strDate).Result("${month}");
                month = r4.Match(strDate).Result("${month}");
 date = r4.Match(strDate).Result("${day}");
                date = r4.Match(strDate).Result("${day}");
 }
            }
 else if (Regex.IsMatch(strDate,@"^(?<year>[1-9][0-9]{0,3})/(?<month>[0-9]{1,2})/(?<day>[0-9]{1,2})$"))
            else if (Regex.IsMatch(strDate,@"^(?<year>[1-9][0-9]{0,3})/(?<month>[0-9]{1,2})/(?<day>[0-9]{1,2})$"))

 
             {
{
 year = r1.Match(strDate).Result("${year}");
                year = r1.Match(strDate).Result("${year}");
 month = r1.Match(strDate).Result("${month}");
                month = r1.Match(strDate).Result("${month}");
 date = r1.Match(strDate).Result("${day}");
                date = r1.Match(strDate).Result("${day}");
 }
            }
 else if(Regex.IsMatch(strDate,@"^(?<year>[1-9][0-9]{0,3})-(?<month>[0-9]{1,2})-(?<day>[0-9]{1,2})$"))
            else if(Regex.IsMatch(strDate,@"^(?<year>[1-9][0-9]{0,3})-(?<month>[0-9]{1,2})-(?<day>[0-9]{1,2})$"))

 
             {
{
 year = r2.Match(strDate).Result("${year}");
                year = r2.Match(strDate).Result("${year}");
 month = r2.Match(strDate).Result("${month}");
                month = r2.Match(strDate).Result("${month}");
 date = r2.Match(strDate).Result("${day}");
                date = r2.Match(strDate).Result("${day}");
 }
            }
 else if(Regex.IsMatch(strDate,@"^(?<year>[1-9][0-9]{0,3})年(?<month>[0-9]{1,2})月(?<day>[0-9]{1,2})日$"))
            else if(Regex.IsMatch(strDate,@"^(?<year>[1-9][0-9]{0,3})年(?<month>[0-9]{1,2})月(?<day>[0-9]{1,2})日$"))

 
             {
{
 year = r3.Match(strDate).Result("${year}");
                year = r3.Match(strDate).Result("${year}");
 month = r3.Match(strDate).Result("${month}");
                month = r3.Match(strDate).Result("${month}");
 date = r3.Match(strDate).Result("${day}");
                date = r3.Match(strDate).Result("${day}");
 }
            }            
 else
            else

 
             {
{
 return "error";
                return "error";
 }
            }

 // 最后检查日期的正确性
            // 最后检查日期的正确性
 try
            try

 
             {
{
 System.DateTime dt = new DateTime(Convert.ToInt32(year), Convert.ToInt32(month), Convert.ToInt32(date));
                System.DateTime dt = new DateTime(Convert.ToInt32(year), Convert.ToInt32(month), Convert.ToInt32(date));
 return dt.ToString("yyyy-MM-dd");
                return dt.ToString("yyyy-MM-dd");
 }
            }
 catch
            catch

 
             {
{
 return "error";
                return "error";
 }
            }
 }
        }
 #endregion
        #endregion

 ------------------------------------------------------------------------------------------
        ------------------------------------------------------------------------------------------


 /**//// <summary>
        /**//// <summary>
 /// 检验Email字符串格式是否正确
        /// 检验Email字符串格式是否正确
 /// </summary>
        /// </summary>
 public bool IsEmailFormat(string strEmail)#region public bool IsEmailFormat(string strEmail)
        public bool IsEmailFormat(string strEmail)#region public bool IsEmailFormat(string strEmail)
 public bool IsEmailFormat(string strEmail)
        public bool IsEmailFormat(string strEmail)

 
         {
{
 return Regex.IsMatch(strEmail, @"^([\w-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$");
            return Regex.IsMatch(strEmail, @"^([\w-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$");
 }
        }
 #endregion
        #endregion

 ------------------------------------------------------------------------------------------
        ------------------------------------------------------------------------------------------



 /**//// <summary>
        /**//// <summary>
 /// 转换十五位身份证为十八位的函数。
        /// 转换十五位身份证为十八位的函数。
 /// </summary>
        /// </summary>
 public string ConvertIDCard15to18(string strTemp)#region public string ConvertIDCard15to18(string strTemp)
        public string ConvertIDCard15to18(string strTemp)#region public string ConvertIDCard15to18(string strTemp)
 public string ConvertIDCard15to18(string strTemp)
        public string ConvertIDCard15to18(string strTemp)

 
         {
{

 int[] arrInt = new int[]
            int[] arrInt = new int[] {7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2};
{7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2};
 string arrCh="10X98765432";
            string arrCh="10X98765432";
 int nTemp = 0;
            int nTemp = 0;
 if(strTemp.Length==15)
            if(strTemp.Length==15)

 
             {
{
 strTemp = strTemp.Substring(0,6) + "19" + strTemp.Substring(6,strTemp.Length-6);
                strTemp = strTemp.Substring(0,6) + "19" + strTemp.Substring(6,strTemp.Length-6);
 for(int i = 0; i < strTemp.Length; i++)
                for(int i = 0; i < strTemp.Length; i++)

 
                 {
{
 nTemp += int.Parse(strTemp.Substring(i, 1).ToString()) * arrInt[i];
                    nTemp += int.Parse(strTemp.Substring(i, 1).ToString()) * arrInt[i];
 }
                }
 strTemp += arrCh[nTemp % 11];
                strTemp += arrCh[nTemp % 11]; 
 }
            }
 char dd=arrCh[nTemp % 11];
            char dd=arrCh[nTemp % 11]; 
 return strTemp;
            return strTemp;
 }
        } 
 #endregion
        #endregion
 
        
 ------------------------------------------------------------------------------------------
        ------------------------------------------------------------------------------------------

 下在为判断ASCII码的函数组,仅支持中英文
        下在为判断ASCII码的函数组,仅支持中英文


 /**//// <summary>
        /**//// <summary>
 /// 是否为双字节字符。
        /// 是否为双字节字符。
 /// </summary>
        /// </summary> public static bool IsTwoBytesChar(char chr)
        public static bool IsTwoBytesChar(char chr)

 
         {
{
 string str =chr.ToString();
            string str =chr.ToString();
 // 使用中文支持编码
            // 使用中文支持编码
 Encoding ecode = Encoding.GetEncoding("GB18030");
            Encoding ecode = Encoding.GetEncoding("GB18030");
 if (ecode.GetByteCount(str) == 2)
            if (ecode.GetByteCount(str) == 2)

 
             {
{
 return true;
                return true;
 }
            }
 else
            else

 
             {
{
 return false;
                return false;
 }
            }
 }
        }


 /**//// <summary>
        /**//// <summary>
 /// 得到字符的ASCII码
        /// 得到字符的ASCII码
 /// </summary>
        /// </summary> public static int ASCII(char chr)
        public static int ASCII(char chr)

 
         {
{
 Encoding ecode = Encoding.GetEncoding("GB18030");
            Encoding ecode = Encoding.GetEncoding("GB18030");
 Byte[] codeBytes = ecode.GetBytes(chr.ToString());
            Byte[] codeBytes = ecode.GetBytes(chr.ToString());
 if ( IsTwoBytesChar(chr) )
            if ( IsTwoBytesChar(chr) )

 
             {
{
 // 双字节码为高位乘256,再加低位
                // 双字节码为高位乘256,再加低位
 // 该为无符号码,再减65536
                // 该为无符号码,再减65536
 return (int)codeBytes[0] * 256 + (int)codeBytes[1] - 65536;
                return (int)codeBytes[0] * 256 + (int)codeBytes[1] - 65536;
 }
            }
 else
            else

 
             {
{
 return (int)codeBytes[0];
                return (int)codeBytes[0];
 }
            }
 }
        }

 
		 
		posted @ 
2006-04-29 16:08 
李振波 
阅读(
1141) 
评论() 
 
收藏 
举报