JS控制input仅能输入数字

最近碰到这样的问题,需要控制文本框中输入指定格式的数字,今天和大家分享其中一种方法。

 

效果:仅能输入0-100以内的一位小数,输入有误将提示并清空输入框。

 

一、利用鼠标移除事件,正则校验进行控制,方法如下:

<input type="text" id="num" onblur=" var reg = /^(((\d|[1-9]\d)(\.\d{1,1})?)|100|100.0|100.0)$/;var f = reg.test(this.value);if(!f){alert('您输入的数字不合法');this.value='';return;}"/>

 

 

二、为了增强可读性,可写成如下格式:

 

<input type="text" id="num" onblur="validateNum(this.value)"/>
 
 
    function validateNum(value){
        var reg = /^(((\d|[1-9]\d)(\.\d{1,1})?)|100|100.0|100.0)$/;
        var f = reg.test(value);
        if ( !f ){
            alert('您输入的数字不合法'); 
            document.getElementById("num").value="";
       return;
        }
     }

 

posted @ 2017-12-28 18:40  imOne  阅读(1785)  评论(0)    收藏  举报