美文网首页
JavaScript千分位加逗号【正则拆解教程】

JavaScript千分位加逗号【正则拆解教程】

作者: 罗坤_23333 | 来源:发表于2022-08-15 15:23 被阅读0次

    正则参考答案:

    var a = 123456789;
    
    String(a).replace(/\B(?=(\d{3})+(?!\d))/g, ",")
    

    正则表达式拆解

    1. 基础知识

    1. x(?=y) 【先行断言】匹配“x”仅仅当“x”后面跟着“y”
      例如: /Java(?=Script)/ Java开头的语言有很多我只认识JavaScript
    2. x(?!y) 【反向否定查找】仅仅当“x”后面不跟着“y”时匹配“x”
      例如:/Java(?!Script)/ Java开头的语言有很多我就不喜欢JavaScript

    2. 正则拆解

    • 第一步:\B 匹配非单词边界
    • 第二步:?=(\d{3}) 匹配后面跟3个数字字符的位置,/+/表示匹配到底,此时定位到789
    • 第三步:加“ , ”,此时123456789=>123456,789
    • 第四步:?!\d匹配定位到123456,
    • 第五步:/**/g表示会递归匹配,继续对123456进行操作上述动作

    其他

    1. 正则没有从右到左匹配的方法
    2. 用字符串+数组方法实现的话记得反转字符串
    3. JS内置toLocaleString方法可直接实现,但存在兼容问题
    4. 前置判断必须大于999才操作

    相关文章

      网友评论

          本文标题:JavaScript千分位加逗号【正则拆解教程】

          本文链接:https://www.haomeiwen.com/subject/nyargrtx.html