在前台用正则表达式为Asp:TextBox加输入检查[Asp.Net]

本文介绍了一种在Asp:TextBox中实现边输入边验证的方法。通过使用OnKeyUp事件及JavaScript进行实时验证,确保用户输入的数据符合指定的正则表达式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在前台用正则表达式为Asp:TextBox加输入检查[Asp.Net]
Asp:TextBox的常用事件中只有TextChanged事件,而TextChanged和winForm不一样,它是在按回车或焦点离开TextBox才能触发,这会给我们带来不便,

当然,你也可以用ASP.NET自带的验证控件RegularExpressionValidator给其写正则表达式来验证,但这个控件也是在回车或焦点离开开时触发,而我们希望的是一边输入就有一边验证检查.

 

怎么才能使TextBox在我们一边输入的时候就一边检查了呢,下面分两步来讲.首先得给其加一个TextBox内容变化就能触发的事件
现在我们用OnKeyUp事件来举例,这里有一点不好的是用OnKeyUp事件的话用鼠标复制操作时不会触发,我想您一定有更好的办法解决,
1)为Asp:TextBox添加OnKeyUp事件,
在后台Page_Load方法中,写如下(为后台控件添加前台事件请参照本博客前一篇文章[为后台控件注册前台事件[Asp.Net]])
 if (!IsPostBack)
{
     txtTest.Attributes.Add("Onkeyup","return txtTest_Onkeyup(this)");         
}
2) 在前台添加javaScript
<script language="javascript" type="text/javascript">
function txtTest_Onkeyup(obj)
{
   //设置匹配只能输入大于0的数的正则表达式
   var pattern = /^((/d+)|(0+))$/;
   var result = pattern.test(obj.value);
   if(result)
   {
     window.alert("匹配");
   }
   else
   {
     window.alert("不匹配,请重新输入!");
     //如果输入不合法,把textBox的值置为空
    obj.value="";
   }
}
</script>

然后就大功告成了.

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值