js正则表达式之人民币匹配

Posted 破壳而出的蝌蚪

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js正则表达式之人民币匹配相关的知识,希望对你有一定的参考价值。

 

 人民币格式匹配

 

小写格式:¥ 符号 整数值 与小数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正则表达式之人民币匹配的主要内容,如果未能解决你的问题,请参考以下文章

Python学习笔记之正则表达式

js正则表达式总结之方法层面

js 正则表达式之环视结构

js入门篇之正则表达式基础

js入门篇之正则表达式基础

js之正则表达式基础