JS如何截取两个字符之间的字符

字符串为1234A4567B789,那么请问用JS如何截取A和B之间的字符,结果应该是4567。A和B出现的位置是不固定的。

需要准备的材料分别是:电脑、html编辑器、浏览器。

1、首先,打开html编辑器,新建html文件,例如:index.html。

2、在index.html的<script>标签中,输入js代码:

var str = '1234A4567B789';

var aPos = str.indexOf('A');

var bPos = str.indexOf('B');

var r = str.substr(aPos + 1, bPos - aPos - 1);

document.body.innerText = r;

3、浏览器运行index.html页面,打印出了A和B之间的字符串

温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2017-09-10
1.slice(start,[end])
该方法返回一个新数组,包含了源函数从start到 end 所指定的元素,但是不包括end元素。
如果 start 为负,将它作为 length + start处理,此处 length 为数组的长度。
如果 end 为负,就将它作为 length + end 处理,此处 length 为数组的长度。
如果省略 end ,那么 slice 方法将一直复制到源数组结尾。
如果 end 出现在 start 之前,不复制任何元素到新数组中。

2.subString(start,[end])
该方法返回一个新数组,包含了源函数从start到 end 所指定的元素,但是不包括end元素。
如果 start 与 end 相等,那么该方法返回的就是一个空串(即长度为 0 的字符串)。
如果 start 比 end 大,那么该方法在提取子串之前会先交换这两个参数。
如果 start 或 end 为负数,那么它将被替换为 0。
第2个回答  2013-04-14
var str = "1234A4567B789";
str = str.substring(str.indexOf("A") + 1,str.indexOf("B"))
alert(str);//输出4567
第3个回答  2013-04-14
var _str ='1234A4567B789';
_substr = _str.substring(_str.indexOf('A')+1,_str.indexOf('B')); alert(_substr); 这样看下结果就知道了
第4个回答  2013-04-14
var s = "1234A4567B789";
/A(\d*)B/.test(s);
alert(RegExp.$1);本回答被网友采纳
相似回答