日期:2014-05-18  浏览次数:21295 次

C#中如何限制textbox中只能输入数字和字母
只知道大体思路是限制住数字和字母的值范围 让它们不可用 
大具体的实现 搞不清楚
C#中如何限制textbox中只能输入数字和字母?
请教下思路和具体的实现

------解决方案--------------------
可以在TextChanged里判断的确
------解决方案--------------------
在KeyPress里面写
如果不是数字或者字母的话设置 e.handle =true
------解决方案--------------------
探讨
在KeyPress里面写
如果不是数字或者字母的话设置 e.handle =true

------解决方案--------------------
使用正则表达式
------解决方案--------------------
function chk()
{
if(!document.all("textbox").value.match(/^[1-9a-zA-Z]+$/))
{
alert("只能输入字母或数字!");
return false;
}
}
------解决方案--------------------
个人感觉正则表达式很好用。数字和字母的正则表达式是:^[A-Za-z0-9]+$
------解决方案--------------------
private void textBox1_KeyPress(object sender, KeyPressEventArgs e) 

e.Handled = !char.IsLetterOrDigit(e.KeyChar);
}
------解决方案--------------------
用验证控件啊,控制输入类型范围什么的
------解决方案--------------------
只能输入数字:"^[0-9]*$"。
只能输入n位的数字:"^\d{n}$"。
只能输入至少n位的数字:"^\d{n,}$"。
只能输入m~n位的数字:。"^\d{m,n}$"
只能输入零和非零开头的数字:"^(0|[1-9][0-9]*)$"。
只能输入有两位小数的正实数:"^[0-9]+(.[0-9]{2})?$"。
只能输入有1~3位小数的正实数:"^[0-9]+(.[0-9]{1,3})?$"。
只能输入非零的正整数:"^\+?[1-9][0-9]*$"。
只能输入非零的负整数:"^\-[1-9][]0-9"*$。
只能输入长度为3的字符:"^.{3}$"。
只能输入由26个英文字母组成的字符串:"^[A-Za-z]+$"。
只能输入由26个大写英文字母组成的字符串:"^[A-Z]+$"。
只能输入由26个小写英文字母组成的字符串:"^[a-z]+$"。
只能输入由数字和26个英文字母组成的字符串:"^[A-Za-z0-9]+$"。
只能输入由数字、26个英文字母或者下划线组成的字符串:"^\w+$"。
验证用户密码:"^[a-zA-Z]\w{5,17}$"正确格式为:以字母开头,长度在6~18之间,只能包含字符、数字和下划线。
验证是否含有^%&',;=?$\"等字符:"[^%&',;=?$\x22]+"。
只能输入汉字:"^[\u4e00-\u9fa5]{0,}$"