| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 5700 人关注过本帖
标题:新手!如何限制TextBox只能输数字和小数点不能输字母?求助
只看楼主 加入收藏
混世逍遥
Rank: 1
等 级:等待验证会员
帖 子:4
专家分:0
注 册:2012-7-23
结帖率:0
收藏
 问题点数:0 回复次数:9 
新手!如何限制TextBox只能输数字和小数点不能输字母?求助
请问高手们在TextBox控件中怎么样才能只输数字和数点?小弟先谢谢各位了!!!
搜索更多相关主题的帖子: 怎么样 数字 小数点 如何 
2012-07-24 12:08
yhlvht
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:贵宾
威 望:36
帖 子:707
专家分:4405
注 册:2011-9-30
收藏
得分:0 
首先给TextBox加一个KeyPress事件,在事件中判断输入的字符是否是数字以及小数点,对于小数点还需要判断所有字符中是否已经存在小数点(意思就是只允许输入一个小数点),最好还要允许输入退格键以及删除键。
如果符合输入要求,e.Handled = false;
不符合要求,e.Handled = true;
2012-07-24 13:24
小羊啊
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2010-4-13
收藏
得分:0 
可以写一个jacascript函数来进行验证
function onlyNumbers()
{
   re = /^\d+\.?\d*$/
   var str=address_Form.txt.value;
    if(!re.test(str))
    {
  alert("只能输入数字,请重新输入");
  len=str.length;
  str1=str.substr(0,len-1);
  address_Form.txt.value=str1;
  address_Form.txt.focus();
  return;   
 }
2012-07-30 17:15
lwundo
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2012-7-17
收藏
得分:0 
<AjaxToolKit:FilteredTextBoxExtender ID="xxx" FilterType="Custom" InvalidChars="0123456789." FilterMode="InvalidChars" TargetControlID="TextBoxID">
</AjaxToolKit:FilteredTextBoxExtender> 
2012-08-04 21:36
jiuzhuanli
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2012-8-6
收藏
得分:0 
//文本框只能输入数字,并且判断数值的范围,如果输入出错,把textBox2的内容清除。这是我的方法。
        private void textBox2_TextChanged(object sender, EventArgs e)
        {
            button11.Enabled = true;
            try
            {
                double p = Convert.ToDouble(textBox2.Text);
                if (p >maxvalue)
                {
                    textBox2.Text = maxvalue.ToString();
                }
                if (p<minValue)
                {
                    textBox2.Text = minValue.ToString();
                }

            }
            catch (Exception)
            {
                textBox2.BackColor = Color.Red;
                MessageBox.Show("输入字符错误,输入数字或者小数点");
                textBox2.Text = "";
                textBox2.BackColor = Color.White;
            }
        }
2012-08-06 10:10
linruihan
Rank: 2
等 级:论坛游民
帖 子:14
专家分:10
注 册:2010-4-10
收藏
得分:0 

楼上的代码好像有点问题,

textBox2_TextChanged()函数在每个字符输入时都会运行,一旦输错了,就运行了下面的代码,连按退格键改正的机会都没有,我认为不好。


建议用ASCII码判断,非合法字符则显示红色背景,且按钮不可用,合法,则按钮可用。


代码可参照楼上的。
2012-08-07 17:17
zhoufeng1988
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
来 自:北京
等 级:贵宾
威 望:27
帖 子:1432
专家分:6329
注 册:2009-5-31
收藏
得分:0 
我以前用的是2楼的方法。
如果是非数字键盘消息直接拦掉。
2012-08-08 22:16
chunxia
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2012-8-7
收藏
得分:0 
支持二楼观点
2012-08-09 10:22
wawd74520
Rank: 2
等 级:论坛游民
帖 子:4
专家分:25
注 册:2011-12-10
收藏
得分:0 
我觉得还是对症下药好。直接转换一下。能转就OK 不能转就报错
2012-08-16 10:24
comeguojiaxi
Rank: 2
等 级:论坛游民
威 望:3
帖 子:30
专家分:73
注 册:2012-6-7
收藏
得分:0 
方式很多、come baby 百度一下就ok啦
2楼3楼都行
其它 都不行
2012-08-21 15:58
快速回复:新手!如何限制TextBox只能输数字和小数点不能输字母?求助
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.020072 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved