javascript - 添加冒号(:) after every 2nd character using Javascript

标签 javascript regex

我有一个字符串,想在每第二个字符后添加一个冒号(但不是在最后一组字符之后),例如:

12345678

成为

12:34:56:78

我一直在使用.replace(),例如:

mystring = mystring.replace(/(.{2})/g, NOT SURE WHAT GOES HERE)

但是 的正则表达式都没有: 我用过 work,但我没能在 Google 上找到任何有用的东西。

谁能指出我正确的方向?

最佳答案

无需删除任何尾随冒号:

mystring = mystring.replace(/..\B/g, '$&:')

\B 匹配一个零宽度的非单词边界;换句话说,当它到达字符串的末尾时,它不会匹配(因为它被认为是单词边界)因此不会执行替换(因此也没有尾随冒号)。

$& 包含匹配的子字符串(因此您不需要使用捕获组)。

关于javascript - 添加冒号(:) after every 2nd character using Javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34280560/

相关文章:

javascript - 通过其他数组的索引过滤数组对象

Java正则表达式,获取定界字符串中的字符,忽略中间的文本

java - 获取与正则表达式匹配的每个字符串的数组

Java 正则表达式 - 如何仅读取 5 到 7 位数字

ruby - 删除 ruby​​ 中的子字符串

javascript - 我可以将 .then() 与 firebaseListObservable 一起使用吗,即 this.items = query 和 .then()

javascript - Webbrowser 控件如何更改窗口 javascript 属性?

javascript - jQuery 可排序序列化无法识别动态添加的内容

javascript - 通过 .html() 克隆 html 代码时,CSS 宽度不适用

java - 如何使用 'matches()' 方法查看字符串是否与格式匹配