C#验证输入的是否数字的方法

其实用正则表达式也可以
static bool IsNumeric(string str)
{
if (str==null || str.Length==0)
return false;
foreach(char c in str)
{
if (!Char.IsNumber(c))
{
return false;
}
}
return true;
}

正则表达的写法是:

static bool IsNumeric(string str)
{
System.Text.RegularExpressions.Regex reg1
= new System.Text.RegularExpressions.Regex(@"^[-]?\d+[.]?\d*$");
return reg1.IsMatch(str);
}

其实最单的是用VB.NET中的函数,以下代码段
using Microsoft.VisualBasic

Information.IsNumeric(str_input)
返回true或false判断是否数字
不过在编译时要加上-lMicrosoft.VisualBasic才能编译成功
CSDN 网友 ( 2005-11-24)
那如果直接这么作呢
try{
float f=float.parse(temp);
}
catch(exception ex)
{
MessageBox.Show("这不是数字");
}
dancefire ( 2005-11-13)
我觉得正则表达式不太正确,小数点前面的前导零应该允许省略,小数点后面的0,也允许省略,但不允许单独以小数点形式出现。你的这个表达式无法满足前导零省略的情况。而且,最重要的,"."在正则表达式中表示任意字符,因此,对于你的表达式,2a2,也能够通过测试。
^[-]?\d+[.]?\d*$

应该改为如下所示:
^[-]?(\d+\.?\d*|\.\d+)$ 

时间: 2024-12-27 14:37:34

C#验证输入的是否数字的方法的相关文章

C#验证输入的是否数字的几种方法

方法一:             static bool IsNumeric(string str)   {    if (str==null || str.Length==0)     return false;    foreach(char c in str)    {     if (!Char.IsNumber(c))     {      return false;     }    }    return true;   }     方法二: private bool IsNume

使用UITextField限制只可输入中,英文,数字的方法_IOS

前言 本文主要介绍使用UITextField限制只可输入中,英文,数字,我们可以使用NSPredicate正则表达式可以过滤,下面看看详细的步骤方法 首先设置UItextField的代理 实现如下方法: - (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string{ if ([self isInputRuleA

在Word中快速输入大写中文数字的方法

  在一些特殊领域,例如银行等金融部门,经常需要输入中文的数字,一次两次可以,但是输入次数多了未免太麻烦了,这里介绍一种快速输入中文数字的方法: 执行"插入"菜单上的"数字"命令,在弹出的"数字"对话框中输入需要的数字,如输入1231291,然后在"数字类型"里面选择中文数字版式"壹.贰.叁-.. ",单击"确定",中文数字式的"壹佰贰拾叁万壹仟贰佰玖拾壹"就输入好了

Asp.net之TextBox只允许输入数字的方法总结_实用技巧

复制代码 代码如下: <asp:textbox id="TextBox1" onkeyup="if(isNaN(value))execCommand('undo')" runat="server" Width="80px" onafterpaste="if(isNaN(value))execCommand('undo')"></asp:textbox> 其实服务器控件也能加上onke

javascript-求一随机生成四位数字验证码的代码,并验证输入的与生成的是否一致

问题描述 求一随机生成四位数字验证码的代码,并验证输入的与生成的是否一致 求一随机生成四位数字验证码的代码,并验证输入的与生成的是否一致 解决方案 这个和js没有关系.验证码的作用是防止机器模仿人滥用的.因为机器识别不规则图像很困难,但是人可以做到这一点. 所以这个需要服务器去验证,如果是客户端验证,那么攻击者很容易破解你的生成和验证环节,验证码也就形同虚设了. 你需要一种服务器编程语言.比如jsp或者asp等等,随机产生验证码,用绘图的方法绘制,加上干扰线.噪点,进行文字的变形等等输出到客户端

利用jquery实现验证输入的是否是数字、小数,包含保留几位小数_jquery

1.验证方法 validationNumber(e, num)  e代表标签对象,num代表保留小数位数 function validationNumber(e, num) { var regu = /^[0-9]+\.?[0-9]*$/; if (e.value != "") { if (!regu.test(e.value)) { alert("请输入正确的数字"); e.value = e.value.substring(0, e.value.length -

JS判断输入的字符串是否是数字的方法(正则表达式)_javascript技巧

实例如下: if (!checkNumber(gopage_val)) { alert("请输入正确页数(数字)"); return false; } //验证字符串是否是数字 function checkNumber(theObj) { var reg = /^[0-9]+.?[0-9]*$/; if (reg.test(theObj)) { return true; } return false; } 以上这篇JS判断输入的字符串是否是数字的方法(正则表达式)就是小编分享给大家的全

jquery实现用户信息修改验证输入方法汇总_jquery

本文实例讲述了jquery实现用户信息修改验证输入方法.分享给大家供大家参考.具体如下: var realnameFlag = 0; var addressFlag = 0; var zipFlag=0; var cellphoneFlag=0; var homephoneFlag=0; var oldpasswordFlag=1; var newpasswordFlag=1; //判断email function check_email() { $("#showSpan").hide

asp.net中,如何验证输入文本框的是小数点后带两位的数字,即money类型

问题描述 asp.net中,如何验证输入文本框的是小数点后带两位的数字,即money类型.请各位高手指点 解决方案 解决方案二:functionIsFloat(name)//验证输入小数(小数点后2位){if(name.value!=""){if(name.value.search(/^[0-9]+$/)!=-1||name.value.search(/^([0-9]+)|([0-9]+.[0-9]*)|([0-9]*.[0-9]+)$/)!=-1){name.value=Math.r