Javascript 如何从特定索引中获取数字?

Javascript 如何从特定索引中获取数字?,javascript,jquery,Javascript,Jquery,大家好,我在一个项目中工作的每个人,我发现自己需要从特定索引中的字符串中获取一个数字,例如:我有这个id,我必须同时获取两个数字(考虑到一个数字可以包含1个或多个数字,例如:1或12) id=库存\u库存捆绑\u生产厂家\u ligneffm\u 1\u ligneff\u 1\u i文件 正如您所注意到的,id包含两个不同部分中的数字1,因此我需要在这个字符串中包含这两个数字! 我考虑过使用子字符串,但如果第一个数字包含多个数字,我可能会错过第二个数字 如果有人有主意, 提前谢谢大家 您可以使

大家好,我在一个项目中工作的每个人,我发现自己需要从特定索引中的字符串中获取一个数字,例如:我有这个id,我必须同时获取两个数字(考虑到一个数字可以包含1个或多个数字,例如:1或12)

id=库存\u库存捆绑\u生产厂家\u ligneffm\u 1\u ligneff\u 1\u i文件

正如您所注意到的,id包含两个不同部分中的数字1,因此我需要在这个字符串中包含这两个数字! 我考虑过使用子字符串,但如果第一个数字包含多个数字,我可能会错过第二个数字

如果有人有主意,
提前谢谢大家

您可以使用正则表达式:

var id='stock_stockbundle_facturefounisseur_ligneffm_10_ligneff_2_idarticle';
var pattern=/\d+/g;
var res = id.match(pattern);
alert(res[0]); //will be 10
alert(res[1]); //will be 2
这两个数字都存储在数组
res

如果您不关心两个数字之间的分割(因此您只需要“102”):

var id=“stock\u stockbundle\u Factory\u ligneffm\u 1\u ligne4ff\u 1\u idarticle”;
var idArrayCheck=id.split(“”);
变量idNumbers=[];
inArray(idArrayCheck);
函数数组(数组){
对于(var i=0;i
idNumbers将是一个字符串,等于“141”

一种可能的方法:

函数retrieveNumberMatches(haystack){
返回haystack.match(/\d+/g);
}
var编号=RetrievenNumber匹配(“股票+股票束+制造商+木质素纤维+木质素纤维+木质素纤维+木质素纤维+木质素纤维+木质素纤维+木质素纤维+木质素纤维+木质素纤维+木质素纤维+木质素纤维+木质素纤维+木质素纤维+木质素纤维+木质素纤维”);
forEach(函数(n,i){
console.log('Number'+i+':'+n);

});“11”
[1,1]
[“1”,“1”]
,完全是别的吗?你说的“特定索引”是什么意思?使用正则表达式将数字放入数组。如果可能,uniq变量中的每个数字,number1,number2谢谢你的帮助,但我只是一个初学者,我不知道如何使用RegEx,tnx thomas,如果可能的话,只获取两个数字(忘记索引),它非常有用,我不认为这个解决方案是发问者想要的。我还认为这段代码效率很低(你需要加零才能找到“10”)。我同意这可能效率很低,实际上有点难看。但它工作得很好,而且非常简单。我想这正是海报想要的。非常有帮助,谢谢,但是,如果id=stock\u stockbundle\u facturefounisseur\u ligneffm\u 10\u ligneff\u 2\u Iarticle,在这种情况下,我们会有:alert(res[0])//将为1警报(res[1])//将为0警报(res[2])//将为2或警报(res[0])//将是10警报(res[1])//将是2???res[0]将是10,而res[1]将是2!它将在任何非数字字符上拆分!非常感谢你的帮助,这就是我要找的!
var id='stock_stockbundle_facturefounisseur_ligneffm_10_ligneff_2_idarticle';
var res = id.replace(/\D+/g,'');
alert(res); //will be 102
var id = "stock_stockbundle_facturefounisseur_ligneffm_1_ligne4ff_1_idarticle";
var idArrayCheck = id.split("");
var idNumbers = [];

inArray(idArrayCheck);

function inArray(array) {
    for (var i = 0; i < array.length; i++) {
        if (array[i] == 1 || array[i] == 2 || array[i] == 3 || array[i] == 4 || array[i] == 5 || array[i] == 6 || array[i] == 7 || array[i] == 8 || array[i] == 9 || array[i] == 0) {
                idNumbers.push(array[i]);
            }
        }
    }

idNumbers = idNumbers.join("");

alert(idNumbers);