大具体的实现 搞不清楚
C#中如何限制textbox中只能输入数字和字母?
请教下思路和具体的实现
21 个解决方案
#1
可以在TextChanged里判断的确
#2
在KeyPress里面写
如果不是数字或者字母的话设置 e.handle =true
如果不是数字或者字母的话设置 e.handle =true
#3
csdn 看到回帖有时刷不出来 汗
#4
#5
可以在TextChanged事件里判断的
if (this.txtCD.Text.Length < 5)
{
foreach (char ch in this.txtCD.Text)
{
if (char.IsDigit(ch))//是否为数字
{ }
if (char.IsLetter(ch))//是否为字母
{ }
}
}
if (this.txtCD.Text.Length < 5)
{
foreach (char ch in this.txtCD.Text)
{
if (char.IsDigit(ch))//是否为数字
{ }
if (char.IsLetter(ch))//是否为字母
{ }
}
}
#6
但是这样不能防范用复制->粘贴过来的.
所以还是建议用TextChanged做实时判断.或在textBox失去焦点时判断一次,出错就提示
#7
这个了解
我只是想知道 数字和字母的取值范围
if ((e.KeyChar>='a'&&e.KeyChar<='z')||(e.KeyChar>='A'&&e.KeyChar<='Z'))
{
e.Handled = false;
}
else
e.Handled = true;
数字的就不清楚如何限制了
#8
使用正则表达式
#9
(int)e.KeyChar>=72 &&(int)e.KeyChar<=90好象是这个
#10
可以写入keydown 限制 复制
if( e.KeyCode == Keys.Down)
{
this.cboOutPutLaneCD.DroppedDown =true;
}
#11
直接再显示Ctrl +c和Ctrl + v不就可以了
#12
(int)e.KeyChar>=49 &&(int)e.KeyChar <=57
#13
function chk()
{
if(!document.all("textbox").value.match(/^[1-9a-zA-Z]+$/))
{
alert("只能输入字母或数字!");
return false;
}
}
{
if(!document.all("textbox").value.match(/^[1-9a-zA-Z]+$/))
{
alert("只能输入字母或数字!");
return false;
}
}
#14
个人感觉正则表达式很好用。数字和字母的正则表达式是:^[A-Za-z0-9]+$
#15
private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
{
e.Handled = !char.IsLetterOrDigit(e.KeyChar);
}
{
e.Handled = !char.IsLetterOrDigit(e.KeyChar);
}
#16
用验证控件啊,控制输入类型范围什么的
#17
在验证控件里,使用正则表达式
#18
只能输入数字:"^[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,}$"
只能输入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,}$"
#19
asp.net可以用验证控件结合正则表达式
winform就用maskedtextbox,他和webform中的验证控件是差不多
winform就用maskedtextbox,他和webform中的验证控件是差不多
#20
但这样引用之后,在textbox里无法删除字母...求解
#21
<input id="Number" type="text" style="width:25px" onkeyup= "value=value.replace(/[^\d]/g, ' ') "onbeforepaste= "clipboardData.setData( 'text ',clipboardData.getData( 'text ').replace(/[^\d]/g, ' ')) " />
#1
可以在TextChanged里判断的确
#2
在KeyPress里面写
如果不是数字或者字母的话设置 e.handle =true
如果不是数字或者字母的话设置 e.handle =true
#3
csdn 看到回帖有时刷不出来 汗
#4
#5
可以在TextChanged事件里判断的
if (this.txtCD.Text.Length < 5)
{
foreach (char ch in this.txtCD.Text)
{
if (char.IsDigit(ch))//是否为数字
{ }
if (char.IsLetter(ch))//是否为字母
{ }
}
}
if (this.txtCD.Text.Length < 5)
{
foreach (char ch in this.txtCD.Text)
{
if (char.IsDigit(ch))//是否为数字
{ }
if (char.IsLetter(ch))//是否为字母
{ }
}
}
#6
但是这样不能防范用复制->粘贴过来的.
所以还是建议用TextChanged做实时判断.或在textBox失去焦点时判断一次,出错就提示
#7
这个了解
我只是想知道 数字和字母的取值范围
if ((e.KeyChar>='a'&&e.KeyChar<='z')||(e.KeyChar>='A'&&e.KeyChar<='Z'))
{
e.Handled = false;
}
else
e.Handled = true;
数字的就不清楚如何限制了
#8
使用正则表达式
#9
(int)e.KeyChar>=72 &&(int)e.KeyChar<=90好象是这个
#10
可以写入keydown 限制 复制
if( e.KeyCode == Keys.Down)
{
this.cboOutPutLaneCD.DroppedDown =true;
}
#11
直接再显示Ctrl +c和Ctrl + v不就可以了
#12
(int)e.KeyChar>=49 &&(int)e.KeyChar <=57
#13
function chk()
{
if(!document.all("textbox").value.match(/^[1-9a-zA-Z]+$/))
{
alert("只能输入字母或数字!");
return false;
}
}
{
if(!document.all("textbox").value.match(/^[1-9a-zA-Z]+$/))
{
alert("只能输入字母或数字!");
return false;
}
}
#14
个人感觉正则表达式很好用。数字和字母的正则表达式是:^[A-Za-z0-9]+$
#15
private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
{
e.Handled = !char.IsLetterOrDigit(e.KeyChar);
}
{
e.Handled = !char.IsLetterOrDigit(e.KeyChar);
}
#16
用验证控件啊,控制输入类型范围什么的
#17
在验证控件里,使用正则表达式
#18
只能输入数字:"^[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,}$"
只能输入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,}$"
#19
asp.net可以用验证控件结合正则表达式
winform就用maskedtextbox,他和webform中的验证控件是差不多
winform就用maskedtextbox,他和webform中的验证控件是差不多
#20
但这样引用之后,在textbox里无法删除字母...求解
#21
<input id="Number" type="text" style="width:25px" onkeyup= "value=value.replace(/[^\d]/g, ' ') "onbeforepaste= "clipboardData.setData( 'text ',clipboardData.getData( 'text ').replace(/[^\d]/g, ' ')) " />