注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

红尘若梦

生活的色彩

 
 
 

日志

 
 

Js只允许表单输入数字  

2015-09-22 16:35:10|  分类: 技术 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
javascript 只允许表单输入数字有很多方法,大体方法如下:
1)正则只允许输入数字和小数点。style="ime-mode:Disabled这句是比较实用的,意为关闭输入法,不过可惜的是并不是兼容所有浏览器。

<input name="593668" onKeypress="return (/[\d.]/.test(String.fromCharCode(event.keyCode)))" style="ime-mode:Disabled">

2)利用isNaN函数判断。

<input type="text" name="593668" onblur="if(isNaN(this.value)){ alert('非法字符!'); this.value='';}" style="ime-mode:Disabled">

3)根据按键值判断。

<script language=javascript>
function onlyNum() {
if(event.which) event.keyCode = event.which;// Netscape/Firefox/Opera
if(!(event.keyCode==46)&&!(event.keyCode==8)&&!(event.keyCode==37)&&!(event.keyCode==39))
if(!((event.keyCode>=48&&event.keyCode<=57)||(event.keyCode>=96&&event.keyCode<=105)))
event.returnValue=false;
}
</script>
<input name="593668" onkeydown="onlyNum();" style="ime-mode:Disabled">

4)正则将非数字全替换掉。

<input name="593668" onkeyup="value=value.replace(/[^\d]/g,'')" onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d]/g,''))" style="ime-mode:Disabled">

以上方法均可达成效果,但组合下效果更佳。
  评论这张
 
阅读(73)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017