社区
C#
帖子详情
text 字符限定问题,在线等!!!
feeling_vb
2003-09-03 11:01:14
例如在一个textBox中 :
我输入 “wo是谁啊”
可是数据库中相应的字段长度为 6
我现在可以用
System.Text.Encoding.Unicode.GetByteCount ( “wo是谁啊” );
得到字符串的长度
,可是我不知道怎么取到不超出范围的字符!!!
我的程序是winForm 应用程序,字符不限定,可以输入汉字、数字、字符等!!!
请写明你是怎么处理的,在那个事件中处理,用什么方法,谢谢!
...全文
58
17
打赏
收藏
text 字符限定问题,在线等!!!
例如在一个textBox中 : 我输入 “wo是谁啊” 可是数据库中相应的字段长度为 6 我现在可以用 System.Text.Encoding.Unicode.GetByteCount ( “wo是谁啊” ); 得到字符串的长度 ,可是我不知道怎么取到不超出范围的字符!!! 我的程序是winForm 应用程序,字符不限定,可以输入汉字、数字、字符等!!! 请写明你是怎么处理的,在那个事件中处理,用什么方法,谢谢!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
17 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
angelior
2003-09-04
打赏
举报
回复
樓主是什么數據庫?
有這個必要嗎
你先在TEXTBOX的MAXLENTH中輸入你的最大字串長度(中英文字符在此相同)
當大于你的限定長度時,就輸入不了,這樣不就可以了嗎?
feeling_vb
2003-09-03
打赏
举报
回复
关键问题是限制输入长度不能区别 汉字
比如我限定 textBox 的最大长度 为 6,
“我是不知道了” 这样的字符串也可以输入,但是在数据库中只能存放 “我是不” 三个字符。
顺便回复 angxain(張憲)
Substring 这个方法是限定不了的
lin_lin
2003-09-03
打赏
举报
回复
限制输入长度比截取字符串是不是更合适一些?
angxain
2003-09-03
打赏
举报
回复
MessageBox.Show(txtCpbh.Text.Substring(0,6));
chinanewway
2003-09-03
打赏
举报
回复
我用web窗体的话是如此的:
protected System.Web.UI.WebControls.TextBox txt;
string input="";
......
input=txt.Text.Substring(0,6);
feeling_vb
2003-09-03
打赏
举报
回复
比如说
“wo是谁啊” 应当取 “wo是谁”
“abcdefgh” 应当取 “abcdef”
"我是谁啊" 应当取 "我是谁"
"我是shui'a" 应当取 "我是sh"
这样就可以和数据库字段的长度匹配!!!
feeling_vb
2003-09-03
打赏
举报
回复
比如说
“wo是谁啊” 应当取 “wo是谁”
“abcdefgh” 应当取 “abcdef”
"我是谁啊" 我是谁 "我是谁"
"我是shui'a" 我是谁 "我是sh"
这样就可以和数据库字段的长度匹配!!!
derek
2003-09-03
打赏
举报
回复
取到不超出范围的字符? 何意?
RnfShadow
2003-09-03
打赏
举报
回复
新的写好了:(判断是否为6个byte,其中全部Ascii码都是1byte,汉字的全部都是2byte)
int lenth=System.Text.Encoding.GetEncoding("GB2312").GetByteCount(this.textBox2.Text.ToString());
Byte [] input= System.Text.Encoding.GetEncoding("GB2312").GetBytes (this.textBox2.Text.ToString());
if (lenth>=6)
{
this.label2.Text=System.Text.Encoding.GetEncoding("GB2312").GetString(input,0,6);
}
else
{
this.label2.Text=System.Text.Encoding.GetEncoding("GB2312").GetString(input,0,lenth);
}
RnfShadow
2003-09-03
打赏
举报
回复
哎哟,写错了!!应该是if(lenth>=12),对不起!!呵呵:)
int lenth=System.Text.Encoding.BigEndianUnicode.GetByteCount(this.textBox1.Text.ToString());
Byte [] input= System.Text.Encoding.BigEndianUnicode.GetBytes (this.textBox1.Text.ToString());
if (lenth>=12)
{
this.label1.Text=System.Text.Encoding.BigEndianUnicode.GetString(input,0,12);
}
else
{
this.label1.Text=System.Text.Encoding.BigEndianUnicode.GetString(input,0,lenth);
}
RnfShadow
2003-09-03
打赏
举报
回复
搂主,你还没有搞好啊?? :(
我帮你做了一个判断,你copy进你的程序里面就行了:
(其中textBox1就是输入的内容,截取后在label1输出)
int lenth=System.Text.Encoding.BigEndianUnicode.GetByteCount(this.textBox1.Text.ToString());
Byte [] input= System.Text.Encoding.BigEndianUnicode.GetBytes (this.textBox1.Text.ToString());
if (lenth>=6)
{
this.label1.Text=System.Text.Encoding.BigEndianUnicode.GetString(input,0,12);
}
else
{
this.label1.Text=System.Text.Encoding.BigEndianUnicode.GetString(input,0,lenth);
}
BeyondLove2000
2003-09-03
打赏
举报
回复
小心取乱码(半个汉字)进去!
RnfShadow
2003-09-03
打赏
举报
回复
至于小于6个怎么办,你做一个判断语句就搞定了。我现在很困,要去睡一会儿,判断的语句你就自己写吧!! :)
RnfShadow
2003-09-03
打赏
举报
回复
对不起,我理解错了你的意思,用下面的BigEndianUnicode就可以啦,因为它会把所有字符都默认成为汉字那样占两个byte,你要截取前6个字符,用(input,0,12)就行了(包括英文和汉字的)!!
Byte [] input= System.Text.Encoding.BigEndianUnicode.GetBytes (this.textBox1.Text.ToString());
this.label1.Text=System.Text.Encoding.BigEndianUnicode.GetString(input,0,12);
ambitiou
2003-09-03
打赏
举报
回复
这样试试。
char[] MaxLengthString=new char[6];
MaxLengthString=TextBox1.Text;
RnfShadow
2003-09-03
打赏
举报
回复
我随便做了一个textbox,一个button,一个label
你在textbox输入一些字符,然后按按钮,就会自动截取前6个字符放进label里面
以下是button的语句:
Byte [] input= System.Text.Encoding.GetEncoding("GB2312").GetBytes (this.textBox1.Text.ToString());
this.label1.Text=System.Text.Encoding.GetEncoding("GB2312").GetString(input,0,6);
derek
2003-09-03
打赏
举报
回复
char[] c=new char[10]; //char[3]
c=this.textBox1.Text.ToCharArray();
string s=new string(c,0,3) ; //string s=new string(c);
MessageBox.Show(s);
UGUI之
Text
内容长度
限定
本文介绍了一种在Unity UGUI中实现文本长度动态限制的方法。通过编写简单的C#脚本,可以根据设定的
字符
数量实时调整
Text
组件显示的内容,并在超过长度时自动添加省略号。
深入ArkUI:深入实战组件
text
和
text
input
本文详细介绍了鸿蒙开发中的
Text
组件,包括内容展示、resource的使用和
限定
词目录实现的国际化效果。同时,讲解了
Text
Input组件的声明与属性设置,通过实战案例展示了如何创建图片宽度控制页面,实现文本输入框功能。文章总结了
Text
组件的属性方法,强调了在应用设计中调整文本样式的重要性。
ASP.Net里面
text
/ Repeater 内容超过
限定
字符
串以...显示的方法
本文介绍了在ASP.NET中如何实现当Label或Repeater显示的内容超过
限定
字符
长度时,使用省略号(...)来替代多余部分的具体方法。通过提供示例代码,展示了如何在服务器端进行
字符
串截取及展示。
php
限定
字符
长度,php
字符
串长度限制
博主在PHP中尝试从MSSQL数据库获取
text
类型的字段,发现内容被截断。通过设置mssql.
text
size和
text
limit配置,调整
字符
编码,以及检查SQL Server设置,最终解决
字符
显示不全的
问题
,提供了解决方案和排查步骤。
MySQL 文本
字符
串
本文详细介绍了MySQL中的
字符
串类型,包括CHAR、VARCHAR、
TEXT
等,以及它们的存储特性和使用场景。CHAR用于存储固定长度
字符
串,会删除末尾空格;VARCHAR则用于可变长度
字符
串,保留空格,更节省空间。
TEXT
类型用于存储大量文本,存储时按实际长度。同时讲解了ENUM和SET类型,ENUM限制单个值,SET允许存储多个值但有
限定
范围。
C#
111,132
社区成员
642,541
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章