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正则表达式之人民币匹配的更多相关文章
- JS 正则表达式的位置匹配ZZ
http://regexpal.com/ 上面这个网站可以用于在线检测JS的正则表达式语法 除了熟知的几个固定字符表示位置: ^ : Match the beginning of the string ...
- JS正则表达式的分组匹配
什么是分组 通俗来说,我理解的分组就是在正则表达式中用()包起来的内容代表了一个分组,像这样的: var reg = /(\d{2})/ reg.test('12'); //true 这里reg中的( ...
- js正则表达式验证、匹配数字、匹配字符串、匹配中文、匹配任意字符备忘录
本文转自:91博客 :原文地址:http://www.9191boke.com/235792704.html 正则表达式或“regex”用于匹配字符串的各个部分,下面是我创建正则表达式的备忘录.包括一 ...
- js正则表达式 URL格式匹配详解
0.URL格式 protocol :// hostname[:port] / path / [;parameters][?query]#fragment [;parameters]没见过 这里就不做相 ...
- js正则表达式匹配字符串与优化过程
前言 有时候需要实现对js源文件中的url字符串做拦截预处理,或者前端js语法高亮,或者需要对动态加载的关键源码做混淆保护,在某些步骤实现之前,有一个步骤是需要提炼出所有的合法字符串. 目标:检测源文 ...
- JS 正则表达式否定匹配(正向前瞻)
引言:JS 正则表达式是 JS 学习过程中的一大难点,繁杂的匹配模式足以让人头大,不过其复杂性和其学习难度也赋予了它强大的功能.文章从 JS 正则表达式的正向前瞻说起,实现否定匹配的案例.本文适合有一 ...
- JS正则表达式的创建、匹配字符串、转义、字符类、重复以及常用字符
正则表达式都是操作字符串的 作用:对数据进行查找.替换.有效性验证 创建正则表达式的两种方式: // 字面量方式 /js/ // 构造函数方式 regular expression new RegEx ...
- JS正则表达式常用总结
正则表达式的创建 JS正则表达式的创建有两种方式: new RegExp() 和 直接字面量. //使用RegExp对象创建 var regObj = new RegExp("(^\\s+) ...
- JS正则表达式(JavaScript regular expression)
RegExp直接量和对象的创建 就像字符串和数字一样,程序中每个取值相同的原始类型直接量均表示相同的值,这是显而易见的.程序运行时每次遇到对象直接量(初始化表达式)诸如{}和[]的时候都会创建新对象. ...
随机推荐
- win10怎么查看激活到期时间如何看是否永久激活
win10怎么查看激活到期时间如何看是否永久激活 我们知道Windows系统需要激活后才可以使用全部功能,那么你的Windows10激活了吗?如何查看激活时间呢?是不是永久激活的?带着这些问题 ...
- 吴恩达机器学习笔记44-核函数(Kernels)
回顾我们之前讨论过可以使用高级数的多项式模型来解决无法用直线进行分隔的分类问题: 为了获得上图所示的判定边界,我们的模型可能是
- 第43节:Java学前要点
Java学前要点 01 学习Java,有人推荐去培训,有人说没用,其实有钱的,不知道如何学,或者逼不得已去的就可以,也有人自己为了不花这些钱,而选择自学,我觉得也行. 现在大部分人学东西要学的好,都是 ...
- mysql怎么限制ip访问
grant all privileges on *.* to 'root'@'ip'identified by '密码'; #授权某个ip的用户可以通过密码访问数据库
- spark面试总结1
Spark Core面试篇01 一.简答题 1.Spark master使用zookeeper进行HA的,有哪些元数据保存在Zookeeper? 答:spark通过这个参数spark.deploy.z ...
- python函数学习1
函数1 (1)定义: def 函数名(参数列表) 函数体 (2)参数传递: 在python中,一切都是对象,类型也属于对象,变量是没有类型的. a = [1,2,3] a = "hellow ...
- netty入坑第一步:了解netty和编写简单的Echo服务器和客户端
早期java API通过原生socket产生所谓的"blocking",大致过程是这样 这种的特点是每次只能处理一个请求,如果要实现多个请求并行,就还要分配一个新的线程来给每个客户 ...
- Oracle nal() 和count(*)的注意点
select count(*) into fhave from tab_ppxuser where name = userstr;和select nvl(hphotourl, '0') into ph ...
- python搭建web服务
import json from urlparse import parse_qs from wsgiref.simple_server import make_server import os im ...
- Win32线程安全问题.同步函数
线程安全问题.同步函数 一丶简介什么是线程安全 通过上面几讲.我们知道了线程怎么创建.线程切换的原理(CONTEXT结构) 每个线程在切换的时候都有自己的堆栈. 但是这样会有安全问题. 为什么? 我 ...