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("不是数字"); }
}
上述即为验证文本框内容是否为数字的方法,期望对读者的学习有所助益。
作者最新文章
Mock.js 拦截失效或数据格式错误的常见原因及排查
2026-11-05 10:11:59
Java和JavaScript名字像但没关系:辨析Java、JavaWeb与JS
2026-11-04 09:30:54
CodePen、JSFiddle与RunJS对比:哪款JS在线运行工具更适合你?
2026-11-03 16:46:57
JS 统计图渲染空白或报错怎么排查?常见问题解决指南
2026-11-03 09:49:40
flv.js 常见报错 MediaError 与解码失败排查指南
2026-11-02 10:29:29
