使用javascript提取两个字符之间的字符串

使用javascript提取两个字符之间的字符串,javascript,Javascript,我有一根像这样的线 <iframe src="https://www.google.com/recaptcha/api2/anchor?ar=1&amp;k=6LekMVAUAAAAAPDp1Cn7YMzjZynSb9csmX5V4a9P&amp;co=aHR0cHM6Ly93d3cub21lZ2xlLmNvbTo0NDM.&amp;hl=en&amp;v=v1526884278587&amp;size=normal&amp;cb=jssxs

我有一根像这样的线

<iframe src="https://www.google.com/recaptcha/api2/anchor?ar=1&amp;k=6LekMVAUAAAAAPDp1Cn7YMzjZynSb9csmX5V4a9P&amp;co=aHR0cHM6Ly93d3cub21lZ2xlLmNvbTo0NDM.&amp;hl=en&amp;v=v1526884278587&amp;size=normal&amp;cb=jssxsvw1wcmm" role="presentation" scrolling="no" sandbox="allow-forms allow-popups allow-same-origin allow-scripts allow-top-navigation allow-modals allow-popups-to-escape-sandbox" style="outline: 1px solid blue;" width="304" height="78" frameborder="0"></iframe>
6LekMVAUAAAAAPDp1Cn7YMzjZynSb9csmX5V4a9P
基本上我想得到
k=
&

这是我到目前为止得到的javascript

var str=''
var string=str.substring(str.lastIndexOf(“k=”)+1,str.lastIndexOf(&”);

console.log(字符串)k=
&
之间的字符串并捕获它

var str=''
var string=str.match(/k=([\w]*)&/)[1]
console.log(字符串)您可以尝试以下方法:

var str=''
var string=str.match(/k=([^&]*)/i)[1];

console.log(字符串)
您说您想要正则表达式,但在您的问题中使用了
.substring

所以…这是你的解决方案和更正,你没有走那么远:

var-str='';
var string=str.substring(str.indexOf(“k=”)+2);//子字符串在“k=”之后开始
string=string.substring(0,string.indexOf(“&”);//子字符串在第一个“&”处停止

console.log(字符串)您尝试的是正确的,但是。。首先,您应该知道lastIndexOf返回的是什么

它将返回给定字符串的起始位置,表示您正在查找“k=”。因此,它将检查“k=”是否存在,但将返回“k”位置

因此,始终将字符串的长度添加到返回值的lastIndexOf。。 还有一个错误是,您正在检查“&”的最后一个索引。。您可以使用indexOf(字符串,fromIndex)方法检查indexOf。。将从给定索引开始搜索给定字符串

检查这个

var str=''
var lookingFor=“k=”;
var fromIndex=str.lastIndexOf(lookingFor)+lookingFor.length;
var string=str.substring(fromIndex,str.indexOf(“&”,fromIndex));
console.log(字符串)
var str='';
var target=str.split('k=')[1]。split('&')[0];
控制台日志(目标);
    var str = '<iframe src="https://www.google.com/recaptcha/api2/anchor?ar=1&amp;k=6LekMVAUAAAAAPDp1Cn7YMzjZynSb9csmX5V4a9P&amp;co=aHR0cHM6Ly93d3cub21lZ2xlLmNvbTo0NDM.&amp;hl=en&amp;v=v1526884278587&amp;size=normal&amp;cb=jssxsvw1wcmm" role="presentation" scrolling="no" sandbox="allow-forms allow-popups allow-same-origin allow-scripts allow-top-navigation allow-modals allow-popups-to-escape-sandbox" style="outline: 1px solid blue;" width="304" height="78" frameborder="0"></iframe>';
    var target  = str.split('k=')[1].split('&')[0];
    console.log(target);