按长度截取包含中文字符的字符串

时间:2022-09-07 07:34:24

 用于对客户端录入包含中文字符的校验很有用,防止保存到数据库中字段被截断。

按长度截取包含中文字符的字符串// 方法一:
按长度截取包含中文字符的字符串
public   int  Length( string  strLen)
按长度截取包含中文字符的字符串按长度截取包含中文字符的字符串
{
按长度截取包含中文字符的字符串    
int l, t, c;
按长度截取包含中文字符的字符串    
int i;
按长度截取包含中文字符的字符串    l 
= strLen.Length;
按长度截取包含中文字符的字符串    t 
= l;
按长度截取包含中文字符的字符串    
for (i = 0; i < l; i++)
按长度截取包含中文字符的字符串按长度截取包含中文字符的字符串    
{
按长度截取包含中文字符的字符串        c 
= (int) strLen[i];
按长度截取包含中文字符的字符串        
if (c < 0)
按长度截取包含中文字符的字符串按长度截取包含中文字符的字符串        
{
按长度截取包含中文字符的字符串            c 
= c + 65536;
按长度截取包含中文字符的字符串        }

按长度截取包含中文字符的字符串        
if (c > 255)
按长度截取包含中文字符的字符串按长度截取包含中文字符的字符串        
{
按长度截取包含中文字符的字符串            t 
= t + 1;
按长度截取包含中文字符的字符串        }

按长度截取包含中文字符的字符串    }

按长度截取包含中文字符的字符串    
return t;
按长度截取包含中文字符的字符串}

按长度截取包含中文字符的字符串
按长度截取包含中文字符的字符串
// 方法二:
按长度截取包含中文字符的字符串
public   int  Length( string  strLen)
按长度截取包含中文字符的字符串按长度截取包含中文字符的字符串
{
按长度截取包含中文字符的字符串
return Encoding.GetEncoding("GB18030").GetBytes(strSource).Length; 
按长度截取包含中文字符的字符串   
按长度截取包含中文字符的字符串}

按长度截取包含中文字符的字符串
按长度截取包含中文字符的字符串
按长度截取包含中文字符的字符串
public   string  Substring( string  strValue,  int  startIndex,  int  length)
按长度截取包含中文字符的字符串按长度截取包含中文字符的字符串
{
按长度截取包含中文字符的字符串    
int iStartTemp = 0;
按长度截取包含中文字符的字符串    
int iTemp = 0;
按长度截取包含中文字符的字符串    
string returnString = "";
按长度截取包含中文字符的字符串    
if (Length(strValue) > startIndex)
按长度截取包含中文字符的字符串按长度截取包含中文字符的字符串    
{
按长度截取包含中文字符的字符串        
for (int i = 0; i < strValue.Length; i++)
按长度截取包含中文字符的字符串按长度截取包含中文字符的字符串        
{
按长度截取包含中文字符的字符串            
int c = (int) strValue[i];
按长度截取包含中文字符的字符串            
if (c < 0)
按长度截取包含中文字符的字符串                c 
+= 65536;
按长度截取包含中文字符的字符串            
if (c > 255)
按长度截取包含中文字符的字符串                iTemp 
+= 2;
按长度截取包含中文字符的字符串            
else
按长度截取包含中文字符的字符串                iTemp 
+= 1;
按长度截取包含中文字符的字符串            
if (iTemp > startIndex)
按长度截取包含中文字符的字符串按长度截取包含中文字符的字符串            
{
按长度截取包含中文字符的字符串                iStartTemp 
= i;
按长度截取包含中文字符的字符串                
break;
按长度截取包含中文字符的字符串            }

按长度截取包含中文字符的字符串        }

按长度截取包含中文字符的字符串    }

按长度截取包含中文字符的字符串    
else
按长度截取包含中文字符的字符串        
return returnString;
按长度截取包含中文字符的字符串
按长度截取包含中文字符的字符串    iTemp 
= 0;
按长度截取包含中文字符的字符串    
if (Length(strValue) > (startIndex + length))
按长度截取包含中文字符的字符串按长度截取包含中文字符的字符串    
{
按长度截取包含中文字符的字符串        
for (int i = iStartTemp; i < strValue.Length; i++)
按长度截取包含中文字符的字符串按长度截取包含中文字符的字符串        
{
按长度截取包含中文字符的字符串            
int c = (int) strValue[i];
按长度截取包含中文字符的字符串            
if (c < 0)
按长度截取包含中文字符的字符串                c 
+= 65536;
按长度截取包含中文字符的字符串            
if (c > 255)
按长度截取包含中文字符的字符串                iTemp 
+= 2;
按长度截取包含中文字符的字符串            
else
按长度截取包含中文字符的字符串                iTemp 
+= 1;
按长度截取包含中文字符的字符串            
if (iTemp > length)
按长度截取包含中文字符的字符串                
break;
按长度截取包含中文字符的字符串            
else
按长度截取包含中文字符的字符串                returnString 
+= strValue[i].ToString();
按长度截取包含中文字符的字符串        }

按长度截取包含中文字符的字符串    }

按长度截取包含中文字符的字符串    
else
按长度截取包含中文字符的字符串按长度截取包含中文字符的字符串    
{
按长度截取包含中文字符的字符串        returnString 
= strValue.Substring(iStartTemp);
按长度截取包含中文字符的字符串    }

按长度截取包含中文字符的字符串    
return returnString;//注释文档
按长度截取包含中文字符的字符串}