var str = "asodn,f啊吊/l丝激发12323;";
var temp = { str: "asodn,f啊吊/l丝激发12323;", startIndex: 0, offset: 2, toIndex: 5 };
function moveCharPosition(opt) {
var s = opt.str.split(''), st = s.splice(opt.startIndex, opt.offset);
s.splice.apply(s, [].concat(opt.toIndex - opt.offset, 0).concat(st));
return s.join('');
}
alert(moveCharPosition(temp));
没有进行容错处理(比如没有对opt及其属性、值的合法性判断 等),你要自己完善,功能实现了。这个代码片段只负责移动字符位置,不负责替换,交叉移动等扩充性功能,如果需要可以自己修改。
opt中,str表示预处理字符串,startIndex表示要移动字符在字符串中的开始索引,offset表示移动几个字符,toIndex表示移动到基于预处理字符串中的位置索引