当前位置: 代码迷 >> JavaScript >> 求1验证输入的正则表达式
  详细解决方案

求1验证输入的正则表达式

热度:143   发布时间:2013-10-11 14:52:39.0
求一验证输入的正则表达式。
<input type="textbox" id="test" onkeypress="" />

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

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


谢谢。

------解决方案--------------------
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>

------解决方案--------------------
<input type="text" onkeyup="this.value=this.value.replace(/[^\d\.,\+-]/g,'')" onblur="if(!/^[\+-]?[\d\.,]+[\+-]?$/g.test(this.value))this.value=''" />