使用Javascript在每2个字符后添加冒号(:)
Add colon (:) after every 2nd character using Javascript
我有一个字符串,希望在每2个字符后添加一个冒号(但不在最后一个字符集之后),例如:
12345678
成为
下午12:34:56:78
我一直在使用.replace()
,例如:
mystring = mystring.replace(/(.{2})/g, NOT SURE WHAT GOES HERE)
但我使用过的:
的正则表达式都不起作用,也没能在谷歌上找到任何有用的东西。
有人能给我指正确的方向吗?
无需删除任何尾随冒号:
mystring = mystring.replace(/..'B/g, '$&:')
CCD_ 3匹配零宽度的非字边界;换句话说,当它到达字符串的末尾时,它将不匹配(因为这被认为是单词边界),因此不会执行替换(因此也没有尾随冒号)。
$&
包含匹配的子字符串(因此不需要使用捕获组)。
mystring = mystring.replace(/(..)/g, '$1:').slice(0,-1)
这就是我立刻想到的。我只是去掉最后一个字符,去掉结尾的冒号。
如果您想将其用于奇数长度的字符串,只需将第二个字符设置为可选字符即可。像这样:
mystring = mystring.replace(/(..?)/g, '$1:').slice(0,-1)
如果您正在寻找RegEx以外的方法,请尝试以下方法:
var str = '12345678';
var output = '';
for(var i = 0; i < str.length; i++) {
output += str.charAt(i);
if(i % 2 == 1 && i > 0) {
output += ':';
}
}
alert(output.substring(0, output.length - 1));
工作JSFiddle
简单,只需匹配每组最多2个字符,并使用':'
加入阵列
mystring.match(/.{1,2}/g).join(':')
var mystring = '12345678';
document.write(mystring.match(/.{1,2}/g).join(':'))
不需要字符串切片/修剪。
如果没有正则表达式,则可以使用Array.prototype.reduce
:
Array.prototype.reduce.call('12345678', function(acc, item, index){
return acc += index && index % 2 === 0 ? ':' + item : item;
}, ''); //12:34:56:78
mystring = mytring.replace(/(.{2})/g, '':$1').slice(1)
试试这个
如果您调整搜索内容以避免行尾冒号(使用负前瞻正则表达式),则会更容易
mystring = mystring.replace(/(.{2})(?!$)/g, ''$1:');
mystring = mystring.replace(/(.{2})/g, '$1':')
试试
我最喜欢我的方法:)
function colonizer(strIn){
var rebuiltString = '';
strIn.split('').forEach(function(ltr, i){
(i % 2) ? rebuiltString += ltr + ':' : rebuiltString += ltr;
});
return rebuiltString;
}
alert(colonizer('Nicholas Abrams'));
这是一个演示
http://codepen.io/anon/pen/BjjNJj
相关文章:
- 如何在ASP中为用户控件添加Javascript对象网
- 向Android浏览器添加JavaScript
- 如何在Opencart中动态添加JavaScript
- 如何根据需要优雅地添加javascript/css
- 在Android的Webview中添加Javascript
- Phonegap/Cordova:如何添加Javascript多点触摸事件
- 添加@javascript标记时,Cucumber中的HTTP身份验证失败
- 当我的表单中已经有一个操作时添加JavaScript
- 当我添加JavaScript时,链接按钮停止工作
- Ruby on Rails 4:在 Rails Web 应用程序中添加 Javascript 文件时遇到问题
- 可以'无法正确添加JavaScript值
- 在页面上添加javascript后呈现指令
- 如何在我更改输入时添加javascript操作'的内容
- 在Dotnet Highchart中添加javascript函数
- 如何在R Shiny应用程序中添加JavaScript来更改CSS文件
- 基于使用的ASP MVC EditorFor/Partial模板添加JavaScript引用
- 添加javascript变量以发送数据
- 动态添加javascript事件监听器,做一些无法解释的事情
- 使用wp_enque_script()在Wordpress-functions.php中添加Javascript
- 添加JavaScript onClick以动态生成asp按钮