Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 从字符串中提取3个数字并将它们放入变量中_Javascript_Jquery - Fatal编程技术网

Javascript 从字符串中提取3个数字并将它们放入变量中

Javascript 从字符串中提取3个数字并将它们放入变量中,javascript,jquery,Javascript,Jquery,我试图从字符串中提取3个数字,并将它们放入变量中 这是html <a href="javascript:theNumbers( 09222004, 05232015, '4815162342' );">Click Me</a> 结果是 javascript:theNumbers( 09222004, 05232015, '4815162342' ); 我想将每个值(09222004和05232015以及4815162342)提取到变量中,这样我就可以在不同的过程中使用

我试图从字符串中提取3个数字,并将它们放入变量中

这是html

<a href="javascript:theNumbers( 09222004, 05232015, '4815162342' );">Click Me</a>
结果是

javascript:theNumbers( 09222004, 05232015, '4815162342' );
我想将每个值(09222004和05232015以及4815162342)提取到变量中,这样我就可以在不同的过程中使用每个数字。拆分([separator[,limit]])将在这里帮助您,括号然后是逗号

数组中大小为3的元素以

<a data-numbers="'09222004, 05232015, 4815162342'">Click Me</a>
这将返回一个数组


['09222004','05232015','4815162342']

看看这个,我希望它能帮助:

$(文档).ready(函数(){
//获取href文本属性
var mString=$('a').attr('href');
//获取()
var mResult=mString.match(/\(.*)/);
//分割结果
var number=mResult[1]。拆分(',');
//显示结果
对于(变量i=0;i');
}
});

仅作记录,接受的答案不满足返回可用数字的要求。事实上,接受的答案(下面的方法A)根本不起作用,正如OP已经指出的那样。小提琴中给出的答案(方法B)更好,但仍然返回错误的数据,即parseInt(s)=NaN

但是,只需删除非数字字符并在逗号上拆分即可返回干净的数据集:

href.replace(/[^0-9,]/g,'').split(',');
运行代码段以比较各种方法的输出:

var data={},href=“javascript:theNumbers(09222004,05232015,'4815162342')
data.method_A=href.split(',');
data.method_B=href.replace(“javascript:theNumbers(“,”).replace(“;”,”).split(“,”);
data.method_C=href.replace(/[^0-9,]/g',).split(',');
document.getElementById('stdout').innerHTML=JSON.stringify(数据,null');

您确定需要拆分字符串吗?看起来您的代码应该调用一个带有三个参数的函数
theNumbers
。在这种情况下,只需从函数本身获取参数。@MikeMcCaughan是的,我想在不同的进程中使用每个数字,顺便说一句,我不能更改源代码,因为我在chrome扩展中使用我的代码。我不能更改源代码,因为我在chrome扩展中使用我的代码使用替换:numbers=numbers.replace(“javascript:theNumbers(,”“).replace(“),”).split(“,”)请查看我的更新(从第一行删除split)谢谢这对我帮助很大,我只是对删除引号所需的最后一个数字有一个小问题
var numbers =$('a').attr('data-numbers').split(',');
href.replace(/[^0-9,]/g,'').split(',');