求一验证输入的正则表达式。

szjarvis 2013-09-28 03:31:15
<input type="textbox" id="test" onkeypress="" />

求onkeypress的一正则表达式,
要求只能输入数字、小数点、逗号、加减号。

加减号输入位置只能在数字的最前方或者最后方。


谢谢。
...全文
143 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
scscms太阳光 2013-09-30
  • 打赏
  • 举报
回复
<input type="text" onkeyup="this.value=this.value.replace(/[^\d\.,\+-]/g,'')" onblur="if(!/^[\+-]?[\d\.,]+[\+-]?$/g.test(this.value))this.value=''" />
松高林阔 2013-09-29
  • 打赏
  • 举报
回复
注CSDN论坛微博送可用分 CSDN论坛微博主要发布程序员职场经验,生活指南,IT八卦等内容,关注就
smrt_tony 2013-09-29
  • 打赏
  • 举报
回复
最前方和最后方就是开头结尾吧
fzfei2 2013-09-28
  • 打赏
  • 举报
回复
onkeypress 里 只能 用 keyCode 来判断范围


<input type="textbox" id="test" onkeyup="return fn2(event,this)" onkeydown="this.bak=this.value" onkeypress="return fn(event,this)" />
</body>
<script type="text/javascript">
 function fn(evt,el){
 	 var c=evt.keyCode;
 	 console.info(c)
 	 var b=(c>47 && c<58)||c==43 ||c==45
 
 	 if(!b) return b;
 }
 function fn2(evt,el){
   if(!/^[\+\-]?\d+[\+\-]?$/.test(el.value)) el.value=el.bak||'';
 	return false;
 }

</script>

87,920

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧