欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2022-04-04 07:53:43
人民币格式匹配 小写格式:¥ 符号 和 整数值 与小数3部分组成。 (0)代码与运行结果 (1)¥ 符号匹配 金额是由 ¥ 作为起始符的 匹配规则为: ^¥ (2)整数匹配 1:金额可为负的 2:金额数多的时候会存在千分符(,)如:¥ 122,000,112.00 匹配规则为:(-?[0-9,]+) ......

 

 人民币格式匹配

 

小写格式:¥ 符号 整数值 与小数3部分组成。

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

(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]}`);
        }
    });
}

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

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