js 數字格式化,只能輸入正負整數,小數


1、只能輸入正整數

<input name="columnValue" class="input96 required" type="text" size="50" onkeyup="if(this.value.length==1){this.value=this.value.replace(/[^1-9]/g,'')}else{this.value=this.value.replace(/\D/g,'')}" 
 onafterpaste="if(this.value.length==1){this.value=this.value.replace(/[^1-9]/g,'')}else{this.value=this.value.replace(/\D/g,'')}"/>

2、可輸入正負數和小數,並限制多少位小數(四舍五入)

js:

function NumberCheck(num,len) {
    //得到第一個字符是否為負號
    var t = num.charAt(0); 
    //先把非數字的都替換掉,除了數字和. 
    num = num.replace(/[^\d\.]/g,''); 
    //必須保證第一個為數字而不是. 
    num = num.replace(/^\./g,''); 
    //保證只有出現一個.而沒有多個. 
    num = num.replace(/\.{2,}/g,'.'); 
    //保證.只出現一次,而不能出現兩次以上 
    num = num.replace('.','$#$').replace(/\./g,'').replace('$#$','.');
    //保留小數
    if(len < 0) len = 0;
    num = Number(num).toFixed(len);
    //如果第一位是負號,則允許添加
    if(t == '-'){
        num = '-'+num;
    }
    return num;
}

jsp:

<s:elseif test="'整數'==dataType">
    <input name="columnValue" class="input96 required" type="text" size="50" onblur="this.value=NumberCheck(this.value,0)"/>
</s:elseif>
<s:elseif test="'小數'==dataType">
    <input name="columnValue" class="input96 required" type="text" size="50" onblur="this.value=NumberCheck(this.value,4)" />
</s:elseif>

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM