判断输入的是否字符(A-Z,a-z),数字,其他字符,还有汉字的一种方法

si812cn 2006-04-18 10:59:12
首先假定文本框里只能输入一个字
string sTest = textbox.Text;
char cTest = Convert.ToChar(sTest);

byte[] byteValues = System.Text.ASCIIEncoding.ASCII.GetBytes(sTest);
string curValue = System.Text.ASCIIEncoding.ASCII.GetString(byteValues);

if(curValue.CompareTo(sTest) != 0)
{
//确定是正常ASCII之外的字符
}
else if(cTest.ToUpper() == cTest || cTest.ToLower() == cTest)
{
//确定是A-Z,a-z的字符
}
else if(Convert.ToInt32(cTest) >= 48 && Convert.ToInt32(cTest) <= 57 )
{
//这里使用ASCII比较而不用用try()catch()来判断是否数字是因为这样快多了
//确定是数字
}
else
{
//确定是其他符号了
}
...全文
396 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
si812cn 2006-04-18
  • 打赏
  • 举报
回复
但是好像并不是这样的,比如A也分全角和半角,我上次处理好像要分好多区位来处理的,
lovefootball 2006-04-18
  • 打赏
  • 举报
回复
那如果是韩文,日文,还它国家的语言呢?

----------------
匹配中文字符的正则表达式: [\u4e00-\u9fa5]

匹配双字节字符(包括汉字在内):[^\x00-\xff]
si812cn 2006-04-18
  • 打赏
  • 举报
回复
谢谢各位提供了这么多的方法,受益匪浅。没想到正则的速度也挺快的
si812cn 2006-04-18
  • 打赏
  • 举报
回复
20011521() ( ) 信誉:94
散分吗
还是有错误

什么地方?
si812cn 2006-04-18
  • 打赏
  • 举报
回复
觉得还是正则简单:
private void textBox1_TextChanged(object sender, System.EventArgs e)
{
string pat=@"[\u4e00-\u9fff]";
Regex rg=new Regex(pat);
Match mh=rg.Match(textBox1.Text);
if(!mh.Success)
return;
MessageBox.Show("不许输入中文");
textBox1.Undo();
}
汉子判断

那如果是韩文,日文,还它国家的语言呢?
huangguangdou 2006-04-18
  • 打赏
  • 举报
回复
正则表达式
sweig0721 2006-04-18
  • 打赏
  • 举报
回复
private void textBox1_KeyPress(object sender, System.Windows.Forms.KeyPressEventArgs e)
{
if((e.KeyChar < 48 || e.KeyChar > 57) && e.KeyChar != 8 && e.KeyChar != 13)
{
e.Handled = true;
MessageBox.Show("只能为数字!");
}
}
20011521 2006-04-18
  • 打赏
  • 举报
回复
static bool IsNumeric (string str)
{
System.Text.RegularExpressions.Regex reg1
= new System.Text.RegularExpressions.Regex(@"^[-]?\d+[.]?\d*$");
return reg1.IsMatch(str);
}
数字判断
20011521 2006-04-18
  • 打赏
  • 举报
回复
觉得还是正则简单:
private void textBox1_TextChanged(object sender, System.EventArgs e)
{
string pat=@"[\u4e00-\u9fff]";
Regex rg=new Regex(pat);
Match mh=rg.Match(textBox1.Text);
if(!mh.Success)
return;
MessageBox.Show("不许输入中文");
textBox1.Undo();
}
汉子判断
20011521 2006-04-18
  • 打赏
  • 举报
回复
散分吗
还是有错误
jiezhi 2006-04-18
  • 打赏
  • 举报
回复
正则表达式啊,你看看msdn中的Regex
朝圆夜不圆 2006-04-18
  • 打赏
  • 举报
回复
用正则表达式!
regx类可以实现
内容概要:本文介绍了一项基于Matlab代码实现的并网与离网风光互补制氢合成氨系统的容量配置与调度优化分析研究。该研究构建了综合能源系统框架,充分考虑风能与光伏发电的不确定性特征,围绕制氢与合成氨过程中的能量转换、存储需求以及系统经济性,开展系统容量优化与多模式运行调度策略的设计与仿真验证。研究涵盖了多能协同建模、智能优化算法的应用、经济性分析,并对比了系统在并网与离网两种运行模式下的性能表现,旨在提升可再生能源利用率、降低碳排放并优化系统全生命周期的运行成本。文中强调科研需逻辑严谨、善于借力,并提供了公众号及百度网盘链接以获取完整的代码与资料。; 适合人群:从事新能源系统优化、综合能源系统、可再生能源制氢、Matlab仿真等相关领域的科研人员、研究生及工程技术人员。; 使用场景及目标:①开展风光互补制氢合成氨系统的容量规划与调度优化研究;②学习和复现SCI级别论文中的优化建模与仿真方法;③掌握Matlab在能源系统优化领域的实际应用技巧。; 阅读建议:建议读者按照文档中可能存在的逻辑顺序逐步学习,充分利用提供的Matlab代码与网盘资料进行实践操作,结合具体案例加深对优化模型与算法实现的理解。
内容概要:本文围绕基于1D-GAN(一维生成对抗网络)的数据生成方法展开研究,重点探讨其在时间序列或信号类数据建模与生成中的应用,特别适用于电力负荷、光伏发电出力、传感器信号等具有一维时序特征的工程场景。该研究作为EI级别成果的复现,具备较高的学术严谨性与技术可靠性。文档不仅系统阐述了1D-GAN的核心架构设计,涵盖生成器与判别器的网络构建,还详细展示了训练流程、损失函数优化策略以及生成结果的评估方法,旨在帮助研究人员深入理解并快速实现该技术。项目以Matlab为主要实现工具,提供了完整的代码支持,便于用户进行复现实验、参数调优与二次开发。此外,文档末尾还整合了大量相关科研资源,覆盖智能优化算法、机器学习、路径规划、电力系统等多个前沿领域,形成一个综合性的科研辅助平台,有助于拓宽研究视野与激发创新思路。; 适合人群:具备一定编程基础和深度学习理论知识,从事电气工程、自动化、计算机科学、新能源系统等相关领域的研究生、科研人员及工程师,尤其适合正在开展时间序列建模、数据增强、信号仿真或新能源系统分析的研究者。; 使用场景及目标:① 利用1D-GAN生成高质量的一维时间序列数据,有效缓解实测数据稀缺或不均衡的问题;② 复现EI期刊级别的研究成果,提升科研工作的技术水准与可信度;③ 深入理解生成对抗网络在工程信号处理中的具体实现细节,掌握网络结构设计与超参数调优的关键技巧;④ 基于提供的Matlab代码进行二次开发,拓展至负荷预测、故障诊断、信号仿真、储能配置优化等实际工程应用场景。; 阅读建议:建议读者首先通览全文,建立对1D-GAN整体架构与技术路线的宏观认知,随后结合所提供的Matlab代码进行模块化分析,重点关注生成器与判别器的网络设计、训练过程中的超参数设置以及生成效果的可视化评估方法。为达到最佳学习效果,应动手运行并调试代码,尝试修改网络结构或输入数据集,以深入理解模型的动态行为与泛化能力。同时,可参考文档中推荐的相关科研资源,进一步拓展研究边界,促进跨领域创新。

111,131

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧