我有以下代码:
for(i = 0; i < textArray.length; i++)
{
var reg = /\bSTEAM_[01]:[01]:[0-9]{1,10}\b/;
var correctID = textArray[i].match(reg);
if(correctID !== null)
{
var z = correctID.split(':');
var correctID64 = '765611' + 97960265728 + z[3];
steamIDs.push(correctID64);
alert(correctID64);
}
};
但是,当我尝试分割CorrectID时,出现了未捕获的类型错误:“未捕获的TypeError:对象[对象数组]没有方法'split'”。据我了解,正确的ID应该是一个字符串,当我尝试转储正确的索引时,它会失败。但是,当我转储数据类型时,它随[Object Array]一起返回。
为什么正确的ID被当作数组对待?每次循环运行时,我都会为其分配一个新值,而不是将值添加到数组中。
该.match()
函数返回一个数组。这是参考。
您可以尝试:
var correctID = textArray[i].match(reg).toString();
或者,如果您只需要第一次出现:
var correctID = textArray[i].match(reg)[0];
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句