JavaScript及C#实现文本框数字验证的多种方案

作者:桌面漫游时间:2026-10-29 19:08:19浏览:593

本文详细介绍如何在Web开发中验证文本框输入内容是否为数字。涵盖JavaScript中正则表达式匹配整数与浮点数、使用char.IsNumber判断正整数,以及通过自定义函数处理负数和小数的完整方案。同时提供C#后端验证示例,包括Button_Click事件处理与异常捕获机制,帮助开发者实现严格的数字输入控制。

JavaScript数字验证方案

本文介绍验证文本框内容是否为数字的三种方法,旨在为读者提供学习参考。

针对需限制文本框仅输入数字的场景(如手机号、邮编),下文简述实现方式。验证数字的正则表达式如下:


"^\\d+$"          //非负整数(正整数 + 0) 
"^[0-9]*[1-9][0-9]*$"    //正整数 
"^((-\\d+)|(0+))$"     //非正整数(负整数 + 0) 
"^-[0-9]*[1-9][0-9]*$"   //负整数 
"^-?\\d+$"         //整数 
"^\\d+("           //非负浮点数(正浮点数 + 0) 
"^(([0-9]+\\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\\.[0-9]+)|([0-9]*[1-9][0-9]*))$"    //正浮点数 
"^((-\\d+("         //非正浮点数(负浮点数 + 0) 
"^(-(([0-9]+\\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\\.[0-9]+)|([0-9]*[1-9][0-9]*)))$"   //负浮点数 
"^(-?\\d+)("         //浮点数

利用JS判断文本框输入内容是否为数字的方法示例。


<script language="javascript">
 function chkads()
 {
 if (lf_addstu.sname.value=="")
 {
 alert("姓名不能为空.");
 lf_addstu.sname.select();
 return false;
 }
 if (lf_addstu.tpl.value=="")
 {
 alert("联系电话不能为空.");
 lf_addstu.tpl.select();
 return false;
 }
 if(!IsNum(lf_addstu.tpl.value)){
 alert("请输入数字!")
 lf_addstu.tpl.focus();
 return false;
 }
 }
 function IsNum(num){
 var reNum=/^\d*$/;
 return(reNum.test(num));
}
</script>
 <form style="padding:0; margin:0" action="" method="post" onSubmit="return chkads()" id="lf_addstu" name="lf_addstu">
 姓名<br />
 <input name="sname" type="text" /><br />
 详细地址<br />
 <input name="adress" type="text" /><br />
 邮编<br />
 <input name="codes" type="text" /><br />
 联系电话<br />
 <input name="tpl" type="text" /><br />
 E-mail<br />
 <input name="email" type="text" />
 <input type="image" src="img/wanhui06.jpg" alt="提交" />
 </form>

C#后端数字验证实现

探讨如何判断输入文本框的值是否为数字。

若仅需判断正整数,可调用char.IsDigh(string,int index)与IsNumber(string,int index)函数。


protected void Button2_Click(object sender, EventArgs e)
 {
  //判断正整数
  int j=0;
  for (int i = 0; i < TextBox1.Text.Length; i++)
  {
   if (char.IsNumber(TextBox1.Text, i))//这个方法用来判断整数还可以,判断负数和小数就失效了
    j++;
  }
  if (j == TextBox1.Text.Length)
  {
   Response.Write("ok");
  }
  else
  { Response.Write ("no");}
  
 }

当涉及负数或小数时,上述方法不再适用,需采用自定义功能函数进行处理。


public bool IsNumber( object obj) 
 { 
 bool result = true; 
 try 
  { 
   string str = obj.ToString(); 
   double d ; 
   d = double.Parse(str); 
  } 
 catch 
  { //parse 函数进行转换,不成功则抛出异常
   result = false; 
  } 
 return result;

 }
 protected void Button3_Click1(object sender, EventArgs e)
 {
  //判断数

  if (IsNumber(TextBox1.Text))
  {
   Response.Write("是数字");
  }
  else
  { Response.Write("不是数字"); }
 }

上述即为验证文本框内容是否为数字的方法,期望对读者的学习有所助益。

作者最新文章