c#textbox中限制只能输入英文和数字要怎么弄?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c#textbox中限制只能输入英文和数字要怎么弄?相关的知识,希望对你有一定的参考价值。
参考技术A 在页面上加上这个控件就可以了,注意修改ControlToValidate属性为你的textbox的ID<asp:RegularExpressionValidator ID="v22" runat="server" ControlToValidate="txtLoginPassword" ErrorMessage="密码应为6-50个字符(为了您的帐号安全,推荐使用数字加字母组合)!" ValidationExpression="[a-zA-Z0-9_]6,50"></asp:RegularExpressionValidator> 参考技术B 如果你是做网站的话,则用正则表达式,如果你是做WINFORM,则在TEXTBOX的KEYPRESS事件中写,
if(!(e.keychar>='0'&&e.keychar<='9')||e.keychar==(char)8)
e.handled=true;
就可以了
参考技术C 我只会Vb
Vb的话在keypress里写入
if keyascii>64 and keyascii<91 or keyascii >96 and keyascii<123 or keyascii>47 and keyascii <58 then keyascii=keyascii
else
keyascii=0
end if
就是通过keyascii 值来判断当前的输入键,不满足就返回keyascii=0(既不输入)本回答被提问者采纳
C#怎么限制textbox只能输入小数和负号?
要符合数学的规格,负号可有可无,有的话必须在开头,小数点不能在开头也不能在最后,输入完小数点后不能再输入,不能输入其他字符,0在前面只能有一个,如果输入了小数点,最后不能有0,不能输入空格,可以输入退格和删除,复制粘贴也要防范,赶脚好麻烦的样纸,正则我用过但是面对那么多规则,我不禁陷入了沉思当中……求大神解啊!!!
首先你要限制他输入要是数字和负号;
其次你要判断他中间需要有并且只能有一个小数点+负号。
限制数字代码如下(要确保输入能删能回车)写在KeyPress事件里:
//如果输入的不是数字键,也不是回车键、Backspace键,则取消该输入if (!(Char.IsNumber(e.KeyChar)) //数字
&& e.KeyChar != (char)13 //回车阿斯玛
&& e.KeyChar= (char)8 //删除阿斯玛
&& e.KeyChar= (char)46 // .阿斯玛
&& e.KeyChar= (char)45 // -阿斯玛
)
e.Handled = true;
判断写在响应回车之时,写在KeyDown事件里:
if(e.KeyCode==Keys.Enter)if (textBox1.Text.Split(textBox1.Text,'.').Count==1&&textBox1.Text.SubString()!='-')
textBox2.Focus(); //焦点这才移开
else
MessageBox.Show("输入违法");
参考技术A
KeyPress事件里面控制:
private void textBox1_KeyPress(object sender, KeyPressEventArgs e)if ((e.KeyChar < 48 || e.KeyChar > 57) && e.KeyChar != 8 && e.KeyChar != 13 && e.KeyChar != 45 && e.KeyChar != 46)
e.Handled = true;
//输入为负号时,只能输入一次且只能输入一次
if (e.KeyChar == 45 && (((TextBox)sender).SelectionStart != 0 || ((TextBox)sender).Text.IndexOf("-") >= 0)) e.Handled = true;
//输入为小数点时,只能输入一次且只能输入一次
if (e.KeyChar == 46 && ((TextBox)sender).Text.IndexOf(".") >= 0) e.Handled = true;
追问
在前面加点代码一开始就不可以输入小数点了。
追答对的,现在是一开始就可以输入小数点,改改就行了。
本回答被提问者和网友采纳 参考技术B 给文本框添加正则表达式^(-?\d+)(\.\d+)?string regexString=@"^(-?\d+)(\.\d+)?"
Regex.IsMatch(TextBox1.Text, regexString);
以上是关于c#textbox中限制只能输入英文和数字要怎么弄?的主要内容,如果未能解决你的问题,请参考以下文章
c#WINFORM中验证在文本框输入的只能是数字和字母,这个怎么做???
C#中如何限制Textbox控件中只能输入数字,要能用退格的