人民幣格式匹配
小寫格式:¥ 符號 和 整數值 與小數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