C#怎么判断文本框输入的是否数字组成

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C#怎么判断文本框输入的是否数字组成相关的知识,希望对你有一定的参考价值。

求大神解答,在线等待

/// <summary>
 /// 判断输入是否只是数字
 /// </summary>
 /// <param name="strInput"></param>
 public static bool IsOnlyNumber(string strInput)
 
  System.Text.RegularExpressions.Match matchResult = null;
  matchResult = System.Text.RegularExpressions.Regex.Match(strInput, "^[0-9]+$");
  if (matchResult.Success)
  
   return true;
  
  return false;
 

这个是用正则表达式实现的,只能输入0到9的一个或者多个数字才会返回true不能有其他字符,应该是你要的吧。

调用示例:

if(IsOnlyNumber(textBox1.Text.Trim()))

//文本框内容是数字

else

//文本框内容不是数字

还有什么问题的话可以直接hi我

参考技术A 一种办法是用正则表达式验证
,另一种用long.TryParse()转化同步通过追问

我用了异常处理的方法,可是我发现输入+23或-23这些带符号数也可以,没有异常。正确的应该是
用户只能输入数字,怎么解决啊,正则不会

追答

如果正则不懂的话还有个办法,你先取得文本框的值,在遍历下每个char是不是数字。如果都是数字的话就通过,一个不是的话就不通过

本回答被提问者采纳
参考技术B

那就在输入的时候,限制只能输入数字

在 textBox1_KeyPress 事件下:

if(((int)e.KeyChar < 48 || (int)e.KeyChar > 57) && (int)e.KeyChar != 8)
     e.Handled = true;

参考技术C 最笨的方法,就是把输入的字符串拆分成字符数组,循环判断呗

c#中的文本框里怎么判断输入的内容是啥类型

c#中的文本框里怎么判断输入的内容是什么类型
例如:价格的文本框里只允许输入数值类型的,如果输入字符就弹出相应的提示信息
我是要在WINFORMS的文本框里只可以输入double类型的,如果是输入的是字符就弹出提示

楼主,很简单的哈!你在文本框的keypress事件里加个判断哈!if(!char.isdigit(e.keychar))messagebox.show("只能输入数字");e.handled=true;这句非常重要,就是让文本框不接受不正确的输入哈! 参考技术A private void textBox1_KeyPress(object sender, KeyPressEventArgs e)

string s ="1234567890."+(char)8;
if (s.IndexOf(e.KeyChar.ToString ()) < 0)
e.Handled = true;

只能输入1234567890.这十一种字符,但不报错! 其它字符的输入没有任何作用,也没有任何的响应!
参考技术B 方法一:
在文本框的onCheck事件中,判断用户输入的 “阿斯克马” 值。
方法二:
在用户输入完后,用charAt()方法判断每个字符是否输入正确
参考技术C 在WinForm项目中,可以使用numericUpDown控件,但和文本框外观不太一样,
不过使用起来十分简单方便.

在WebForm项目中,最简单的办法是使用验证控件:RangeValidator,
将其 ControlToValidate 属性绑定为需要被验证的控件,
并设置ErrorMessage属性,
还可以使用MaximumValue,MinimumValue属性设置验证边界.
实际上RangeValidator控件就是一段JS脚本
参考技术D 有一个简单而且比较好的方试用ajsx控件,里面有一个MaskedEditValidator这个控件你可以设置只能输入数字或double型的,其它的都不能输入希望对您有用

以上是关于C#怎么判断文本框输入的是否数字组成的主要内容,如果未能解决你的问题,请参考以下文章

c#中如何判断文本框中是不是是数字(包括小数)

c#如何判断文本框中是不是是数字

c#中的文本框里怎么判断输入的内容是啥类型

asp.net怎么限制文本框输入的类型c#

C# 文本框只能输入数字

C#中如何检查文本框的输入信息是不是为数字?