1. 程式人生 > >js正則表達式之人民幣匹配

js正則表達式之人民幣匹配

出現 con foreach 結果 分組 小數 light info length

人民幣格式匹配

小寫格式:符號 整數值 與小數3部分組成。

技術分享圖片

(0)代碼與運行結果

{
    // 匹配人民幣
    let [reg, info, rmb, result] = [
        /^(¥)(-?[0-9,]+)(\.[0-9]+)?/,
        [‘金額‘,‘符號‘, ‘整數部分‘, ‘小數分部‘],
        [‘¥10.01‘, ‘¥10‘, ‘¥1,111.01‘, ‘¥1,000,12‘, ‘¥0.1‘, ‘¥10.00‘]
    ];
    rmb.forEach((value) => {
        console.log(‘---------------------------------------------------------------------------------‘);
        
for (let i = 0, result = reg.exec(value); i < result.length; i++) { console.log(`${info[i]} = ${result[i]}`); } }); }

技術分享圖片

1)符號匹配

金額是由作為起始符的

匹配規則為: ^¥

2)整數匹配

1:金額可為負的

2:金額數多的時候會存在千分符(,)如:¥ 122,000,112.00

匹配規則為:(-?[0-9,]+)

-? 因為金額可能會存在負數也可能不存在,所以匹配0次或1

[0-9,]+ 前部分[0-9,]表示匹配其中任意一個字符,後面跟個

+符號表示前面那組模式的數據至少會出現1次甚至更多次。

3小數部分匹配

1小數部分數據是由點(.),後接數值組成

匹配規則為:(\.[0-9]+)?

(\.[0-9]+)? 前部分(\.[0-9]+) 為小數 後面跟個?問號表示有可能存在小數部分,有可能沒有。

4)組合匹配規則

^()(-?[0-9,]+)(\.[0-9]+)?

我的百度經驗地址:https://jingyan.baidu.com/article/d3b74d64367dd61f77e60908.html

js正則表達式之人民幣匹配