JS基於正則實現數字千分位用逗號分割

2021-08-08 05:50:30 字數 876 閱讀 1408

由於業務中經常出現要實現數字千分位用逗號分割以方便查閱資料的需求,因此封裝乙個函式,方便復用。

如果數字帶有小數點的話,可以使用tolocalestring()方法實現這個需求。

var a = 8462948.24;

b.tolocalestring();

//8,462,948.24

不帶小數點我們可以簡單的寫個正則去實現。

(有小數點我們可以用split()分割,得到陣列,裡面儲存這整數和小數部分,使用正則匹配實現整數加入逗號,最後拼接起來。但是不如直接使用上面方法,簡單粗暴。)

num.tostring().replace(/(\d)(?=(?:\d)+$)/g,'$1,')
匹配規則就是: 將該num轉化為字串後,全域性(/g)正向匹配,看是否符合斷言(?=(?:\d)+$)部分,直到匹配結束。即遇到 數字 + 該數字後面緊跟連續的三位數字(並且不管這連續的三位數字出現多少次),符合則在該數字(』$1』)後加入逗號,替換的時候忽略(?:)這連續的三位數.

上面描述的可能不夠到位,可結合**理解。

function

numformat

(num) else )+$)/g, '$1,');

return c;

}}

繼續對上面**進行優化:

function

numformat

(num) )+$)/g, '$1,');

return c;

}

JS實現千分位

function format num d g return num replace reg,解釋 1 正規表示式 d d 表示前面有1 3個數字,後面的至少由一組3個數字結尾 2 表示正向引用,可以作為匹配的條件,但匹配到的內容不獲取,並且作為下一次查詢的開始 3 表示與正規表示式相匹配的內容,具...

js 將數字用千分位表示

在涉及到金額的情況下,一般來說,都需要用千分位的方式進行展示。更利於使用者閱讀。接下來介紹兩種常用的方案。tolocalestring 方法返回這個數字在特定語言環境下的表示字串。具體用法可檢視mdn介紹 結果 123 568.4758 function mytofixed data,n while...

數字增加千分位符

匹配input內只能輸入數字和 逗號或者說是千分位符 ps 使用千分位符時,一般只保留2位小數 如果沒有特殊說明可以用html中的 number屬性可以輸入 e e 是科學計算中的自然數 所以是可以輸入的 限制只能輸入數字 和 if this val length 1 else 數字裝千分位格式,千...