function numberThousands (number, thousandsSeperator = ',') {return String(number).replace(/(\d)(?=(\d\d\d)+(?!\d))/g, '$1' + thousandsSeperator)
}

解释

首先理解一下: 正向肯定预查(look ahead positive assert)正向否定预查(negative assert)

正向肯定预查(look ahead positive assert):

在任何匹配pattern的字符串开始处匹配查找字符串。这是一个非获取匹配,也就是说,该匹配不需要获取供以后使用。例如,“Windows(?=95|98|NT|2000)“能匹配"Windows2000"中的"Windows”,但不能匹配"Windows3.1"中的"Windows”。预查不消耗字符,也就是说,在一个匹配发生后,在最后一次匹配之后立即开始下一次匹配的搜索,而不是从包含预查的字符之后开始。

正向否定预查(negative assert):

在任何不匹配pattern的字符串开始处匹配查找字符串。这是一个非获取匹配,也就是说,该匹配不需要获取供以后使用。例如"Windows(?!95|98|NT|2000)“能匹配"Windows3.1"中的"Windows”,但不能匹配"Windows2000"中的"Windows"。预查不消耗字符,也就是说,在一个匹配发生后,在最后一次匹配之后立即开始下一次匹配的搜索,而不是从包含预查的字符之后开始。

/(\d)(?=(\d\d\d)+(?!\d))/g 正则表达式图解:


假设有字符串 12345,正则表达式 (\d)(?=(\d\d\d)+) 首先,匹配 1,发现 1 后面有 234,正向预查到了,所以 1 会被匹配到;再次向后,匹配 2 ,发现 345, 所以 2 也被匹配到,如下图


加上 (?!\d),还要保证正向预查的最后一个字符串 不能为数字

js 实现千分位符

function numberThousands2 (nums) {let arr = nums.toString().split("").reverse();return arr.reduce((total, current, index) => {if (index % 3 === 0 && total) {return current + "," + total;} else {return current + total;}}, "");
}

js正则表达式实现千分位符相关推荐

  1. java金钱千分位处理_java对金额的处理,保留两位小数、千分位符

    关于数字特殊字符 0 和 #的一些简单说明 #是一个特殊字符,用于数字部分(相当于占位符):它表示显示数字,但是最首位的0不予显示. data:02222.20 pattern:",###. ...

  2. js 数字转为千分符格式

    function util(){//字符串千分符this.cuter = function (v, n) {if (typeof (v) == 'string' || typeof (v) == 'n ...

  3. js 正则转换千分位(带小数)

    // 注:保留三位小数是避免toFixed()向上取整 // 截取值保留3位小数 const num = Number(-176567855.7784514000.toString().match(/ ...

  4. 用正则表达式实现千分位分隔符

    原创文章,转载请注明:http://blog.csdn.net/chang_yuan_2011/article/details/46836045 千位分隔符就是在数字中,每隔三位数加进一个逗号,实现的 ...

  5. js 数字的千分位分隔符函数

    function _comma(number) {// 补全代码let string = number.toString();let arr = string.split(""). ...

  6. SQL中显示货币型数据[千分位符]

    declare   @price   money set   @price = 123456789 select   convert ( varchar , @price , 1 ) 转载于:http ...

  7. java 将千分位转为数字_java让数字显示千分位 mark

    /** * 格式化数字为千分位显示: * @param 要格式化的数字: * @return */ public static String fmtMicrometer(String text) { ...

  8. c语言将整数输出千分位,axure怎么把数字千分位

    1. axure中的数字可以设置格式,可以加千分隔符吗 数字设置格式有几个函数 toFixed指定数字的小数点位数 toExponential 指数计数法 toPrecision: 格式化为指定的长度 ...

  9. 数字格式化:设置千分位分隔符

    直接上代码[作为自己的工具函数记录使用] 步骤描述 1. 基本的数据判空.正负判断.小数与整数的各自截取处理 2. 数据的长度判断.数据反转.每3位增加千分位分隔符并进行回调,直到全部加完 3. 千分 ...

最新文章

  1. gzip压缩後的javascript在ie下不加载
  2. 计算机原理解读图,详细讲解仪器仪表测试系统,结构原理图拿走不谢
  3. ios怎么玩java模拟器游戏_新方式玩iOS手游 水果模拟器让电脑运行苹果iOS
  4. 关于在学校锻炼的思考
  5. php插件 pycharm_原来Pycharm中有这么多好用的插件|Pycharm精选插件
  6. PHP扩展CURL的用法详解
  7. 另一种遍历Map的方式: Map.Entry 和 Map.entrySet()
  8. 工程师总结:单片机C语言编程心得
  9. 编辑器eslint格式_vscode保存代码,自动按照eslint规范格式化代码设置
  10. ***经验谈之SA权限***的感悟
  11. 5行Python 代码就能让你的电脑永不息屏
  12. 去年的今天,我和小叶子完成了《阿猫阿狗2》,缅怀一下。
  13. python中直方图bins是什么意思_Python 中下划线的 5 种含义都是什么?
  14. 51CTO博客——架起我与读者沟通、见面的桥梁[博友话题]
  15. 同窗多年,一个无经验的应届生,一起转行做了软件测试并月薪8K
  16. 10 QT - 自定义信号和槽
  17. Spring学习Ioc
  18. win10误删IE浏览器文件如何恢复?
  19. 使用 ThreeJS 还原「流浪气球」
  20. React 接入 Ueditor + xiumi

热门文章

  1. python中整数四舍五入的方法
  2. matlab中struct2,Matlab中struct的用法
  3. C语言版--单链表排序,冒泡排序,选择排序,插入排序,快速排序,应有尽有,保证看懂,没有bug!交换节点版本!
  4. 实体店经营的3步锁客裂变
  5. dw支持css3 html,通过DW设计网页时组织CSS的建议
  6. unity3D 鼠标控制物体旋转带阻尼效果
  7. 学习 PySOT(1)(介绍、配置、使用)
  8. 计算机主板跳线怎么放电,主板电池放电清BIOS恢复出厂设置怎么操作?图文教程...
  9. kernelbasedll下载_kernelbase.dll下载_kernelbase.dll修复工具下载-太平洋下载中心
  10. php微信地图定位导航,微信小程序实现定位及到指定位置导航的示例代码