忘忧的小站

  • 首页
  • 文章归档
  • 日志
  • 关于页面

  • 搜索
分布式索引 索引 全文搜索 Lucene.Net GPS 音视频 过滤 AOP 时区 升级 ABP.Zero 数据备份 linux 阿里云盘 aliyunpan 面试题 Signalr S 汉字 css html 前端 拼音键盘 在线键盘 uniapp .Net Core XMLRPC Serilog LOKI Nlog 分布式日志 加密 总结 人生 Asp.Net Core Swagger Web Element-plus Quasar 匹配 JavaScript 正则 .Net 后台 架构师 Redis EF CORE MySQL 自考 英语 集群 Jenkins CI/DI 内网穿透 代理 ABP 学习 后端 软考

JavaScript字符串每N位截取一次

发表于 2022-08-30 | 分类于 vue | 0 | 阅读次数 1083

目的

针对二进制流进行参数分割

简洁实现

代码

/.{1,3}/g 正则中的3 为匹配几位,可修改

var foo = "foofaafoofaafoofaafoofaafoofaa";
console.log( foo.match(/.{1,3}/g) );

效果
059a96b9b20c3d59b3e8ddbb6ffabf1

错误示范

第一种

function splitStr(str) {
  const res = []

  let count = 0
  let tmpStr = ''

  for (const c of str) {
    tmpStr += c
    count++

    if (count == 3) {
      res.push(tmpStr)
      count = 0
      tmpStr = ''
    }
  }

  tmpStr && res.push(tmpStr)

  return res
}

第二种

function fenge(str){
    let result=str.replace(/(\d)(?=(\d{3})+$)/g,"$1,");
    return result.split(',');
}
var str="001010101";
console.log(fenge(str));

第三种

function splitMsg(str){
    let allmsg = []
    try{
        while(str.length > 0){
            allmsg.push(str.substring(0,3))
            str = str.substring(3)
        }
    }catch(e){
        console.log(e)
    }
    return allmsg;
}
console.log(splitMsg("000101110"))
  • 本文作者: 忘忧
  • 本文链接: /archives/89
  • 版权声明: 本博客所有文章除特别声明外,均采用CC BY-NC-SA 3.0 许可协议。转载请注明出处!
# 正则 # JavaScript
在线Web拼音键盘方案
汉字着重号的网页实现
  • 文章目录
  • 站点概览
忘忧

忘忧

君子藏器于身,待时而动,何不利之有

44 日志
6 分类
60 标签
RSS
Github E-mail StackOverflow
Creative Commons
  1. 目的
  2. 简洁实现
  3. 错误示范
0%
© 2025 忘忧
由 Halo 强力驱动