社区
C#
帖子详情
text 字符限定问题,在线等!!!
feeling_vb
2003-09-03 11:01:14
例如在一个textBox中 :
我输入 “wo是谁啊”
可是数据库中相应的字段长度为 6
我现在可以用
System.Text.Encoding.Unicode.GetByteCount ( “wo是谁啊” );
得到字符串的长度
,可是我不知道怎么取到不超出范围的字符!!!
我的程序是winForm 应用程序,字符不限定,可以输入汉字、数字、字符等!!!
请写明你是怎么处理的,在那个事件中处理,用什么方法,谢谢!
...全文
25
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);
ASP.Net里面
text
/ Repeater 内容超过
限定
字符
串以...显示的方法
ASP.Net里面
text
/ Repeater 内容超过
限定
字符
串以…显示的方法 文章目录ASP.Net里面
text
/ Repeater 内容超过
限定
字符
串以...显示的方法一、ASP.Net里面
text
内容超过
限定
字符
长度以...显示的方法二、ASP.Net里面 Repeater 显示内容超过
限定
字符
长度以...显示的方法 提示:以下是本篇文章正文内容,下面案例可供参考 一、ASP.Net里面
text
内容超过
限定
字符
长度以…显示的方法 label文本(
Text
=" 内容 ") <
mysql
text
字符
串最大长度限制_MySQL
TEXT
数据类型的最大长度
TINY
TEXT
256 bytes
TEXT
65,535 bytes~64kbMEDIUM
TEXT
16,777,215 bytes~16MBLONG
TEXT
4,294,967,295 bytes~4GBhttp://blog.sina.com.cn/s/blog_71f8aa010100vusp.htmlRow size too large. The maximum row size for the...
UGUI之
Text
内容长度
限定
在UGUI里
Text
显示的
字符
有时候需要个数限制。只需将下面代码绑定到
text
上就可以了。 namelenth是用来接收文字个数的。在其他脚本里只要设置namelenth这个值就可以。由于Setnamelength()这个方法一直在Update里被调用,所以可以实时的将改变的个数值namelenth传入下面的Setnamelength()这个方法。 本案例中用按键盘P键来
限定
了传入个数
php
限定
字符
长度,php
字符
串长度限制
各位好,我的数据完整的存数据库中(10000字左右),用php 获取数据获取该字段内容时,为什么只能获取前部份内容,而获取的不是所有的内容回复讨论(解决方案)字段是什么类型的?怎么会啊 你是不是用的var_dump输出的,然后安装了xdebug,安装xdebug用函数var_dump打印时会截断数据库是mssql,字段是
text
类型的,这样取数据 $v['memo']=iconv("gbk", ...
js怎么
限定
text
框只能输入规范的日期
js怎么
限定
text
框只能输入规范的日期 有时候
text
框里面只想用户输入特定的日期该怎么办。 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <script> function check() { var reg =...
C#
110,536
社区成员
642,578
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章