首页 > 技术文章 > input只允许输入数字,并且小数点后保留4位

dancer0321 2019-12-10 10:25 原文

<input type="text" value="" name="should_send_num" id="should_send_num" class="input-txt" οnkeyup="clearNoNum(this)" οnblur="clearNoNum(this)">

 

 

function clearNoNum(obj)
{
    //先把非数字的都替换掉,除了数字和.
    obj.value = obj.value.replace(/[^\d.]/g,"");
    //保证只有出现一个.而没有多个.
    obj.value = obj.value.replace(/\.{2,}/g,".");
    //必须保证第一个为数字而不是.
    obj.value = obj.value.replace(/^\./g,"");
    //保证.只出现一次,而不能出现两次以上
    obj.value = obj.value.replace(".","$#$").replace(/\./g,"").replace("$#$",".");
    //只能输入两个小数
    obj.value = obj.value.replace(/^(\-)*(\d+)\.(\d\d\d\d).*$/,'$1$2.$3');
}

 

推荐阅读