首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >JS 限制输入框只输入数字和小数点

JS 限制输入框只输入数字和小数点

作者头像
week
发布2018-08-27 11:09:46
发布2018-08-27 11:09:46
10.3K0
举报
文章被收录于专栏:用户画像用户画像

只允许数字:

代码语言:javascript
复制
<input 

onkeyup="this.value=this.value.replace(/\D/g,'')" onafterpaste="this.value=this.value.replace(/\D/g,'')"
>

只允许数字和小数点(IE 兼容,但火狐不兼容):

<input

onkeyup="if(isNaN(value))execCommand('undo')" onafterpaste="if(isNaN(value))execCommand('undo')"

>

火狐下js设计:

代码语言:javascript
复制
<script language="JavaScript" type="text/javascript">
	      function clearNoNum(event,obj){ 
	        //响应鼠标事件,允许左右方向键移动 
	        event = window.event||event; 
	        if(event.keyCode == 37 | event.keyCode == 39){ 
	            return; 
	        } 
	        //先把非数字的都替换掉,除了数字和. 
	        obj.value = obj.value.replace(/[^\d.]/g,""); 
	        //必须保证第一个为数字而不是. 
	        obj.value = obj.value.replace(/^\./g,""); 
	        //保证只有出现一个.而没有多个. 
	        obj.value = obj.value.replace(/\.{2,}/g,"."); 
	        //保证.只出现一次,而不能出现两次以上 
	        obj.value = obj.value.replace(".","$#$").replace(/\./g,"").replace("$#$","."); 
	      } 
    </script>
代码语言:javascript
复制
<input name="maxSpeed" 
       onkeyup="clearNoNum(event,this)" onafterpaste="clearNoNum(event,this)"
>
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2014年03月08日,如有侵权请联系 cloudcommunity@tencent.com 删除
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档