您好,登錄后才能下訂單哦!
這篇文章主要介紹了JavaScript如何實現數字、金額格式互轉正則表達式,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
數字,金額格式互轉正則表達式
<input type="text" placeholder="請輸入" oninput = "checkInput(this)">
input 輸入實時判斷輸入為金額格式
function checkInput(obj) { var t = obj.value.charAt(0); obj.value = obj.value.replace(/[^\d.]/g, ""); //清除"數字"和"."以外的字符 obj.value = obj.value.replace(/^[0]+[0-9]*$/gi, ""); //第一位數字不能為0 obj.value = obj.value.replace(/^\./g, ""); //驗證第一個字符是數字而不是. obj.value = obj.value.replace(/\.{2,}/g, "."); //只保留第一個. 清除多余的 obj.value = obj.value.replace(".", "$#$").replace(/\./g, "").replace("$#$", "."); obj.value = obj.value.replace(/^(\-)*(\d+)\.(\d\d).*$/,'$1$2.$3'); //只能輸入兩個小數 if (t == '-') { obj.value = '-' + obj.value; } }
數字轉金額格式,保留兩位小數點 例:將 1234567 轉換為 1,234,567.00
//s是數字,n是小數點位數 function fmoney(s, n) { n = n > 0 && n <= 20 ? n : 2; s = parseFloat((s + "").replace(/[^\d\.-]/g, "")).toFixed(n) + ""; var l = s.split(".")[0].split("").reverse(), r = s.split(".")[1]; t = ""; for (i = 0; i < l.length; i++) { t += l[i] + ((i + 1) % 3 == 0 && (i + 1) != l.length ? "," : ""); } return t.split("").reverse().join("") + "." + r; }
金額格式轉數字 例:將 1,234,567.00 轉換為 1234567.00
function moneyToNumValue(val) { var num = val.trim(); var ss = num.toString(); if (ss.length == 0) { return "0"; } return ss.replace(/,/g, ""); }
感謝你能夠認真閱讀完這篇文章,希望小編分享的“JavaScript如何實現數字、金額格式互轉正則表達式”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。