zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    /usr/bin/ld: 找不到 /usr/lib64/libatomic.so.1.0.0
    linux Version mismatch error. This is libtool 2.4.6 Debian-2.4.6-2
    java播放语音文件
    java冒泡排序
    java递归求和
    常见芯片标号说明
    keil5 新建 stm32项目 步骤
    st-link 升级固件时报错“is not in the DFU mode”
    数码管 段选位选
    C51 定时器
  • 原文地址:https://www.cnblogs.com/whnba/p/10173195.html
Copyright © 2011-2022 走看看