有关字符串的一点问题(长度限制和汉字问题)

szhuk 2003-07-30 03:05:47
在BaseValidate的判断中,对空字符串判断的不错,但没有限制字符串长度的参数,如果在TextBox.MaxLength中限制,一个汉字和一个英文字符长度都是1,但在数据库中一个汉字长度为2,
另外一个问题,在backcode中如果用参数方式传值,不如说长度为50,则直接截取前50个字符(同样也包含了汉字问题),
如果控制写入数据库时不错但又不浪费不必要的空间。
...全文
80 2 打赏 收藏 举报
写回复
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
暗石绿 2003-07-30
  • 打赏
  • 举报
回复
//计算字符串实际字节长度
function GetByteLength(str)
{
var iLen = 0;
for(i = 0; i < str.length; i ++)
{
if(str.charCodeAt(i) >= 8481 && str.charCodeAt(i) <= 63486)
iLen += 2;
else
iLen += 1;
}
return iLen;
}
xu0007 2003-07-30
  • 打赏
  • 举报
回复
c# 试试看行不行
public int GetStringBytes(string strInput)
{
string str=strInput;
byte[] bytes=System.Text.Encoding.Default.GetBytes(str);
int byteLen=bytes.Length;
return byteLen;
}
/// <summary>
/// 验证字符串是否符合长度要求
/// </summary>
/// <param name="strInput">需要验证的字符串</param>
/// <param name="maxLength">允许的最大长度</param>
public bool CheckString(string strInput,int maxLength)
{
int input;
input=GetStringBytes(strInput);
if(input>maxLength)
{
int a=maxLength/2;
return false;

}
else
{
return true;

}

}
相关推荐
发帖
.NET社区

6.1w+

社区成员

.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
帖子事件
创建了帖子
2003-07-30 03:05
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。