正则表达式,match()与parseInt()一起用带来的问题
//成绩是一长窜的字符串不好处理,找规律后分割放到数组里更好操作哦
var scoreStr = "小明:87;小花:81;小红:97;小天:76;小张:74;小小:94;小西:90;小伍:76;小迪:64;小曼:76";
var reg1 = new RegExp('(\\d{0,2}|100)','\g');
var scoreArr = scoreStr.match(reg1);
var sum = 0;
for(var i = 0; i < scoreArr.length; i++){
document.write(scoreArr[i] + " ");
/*var x = parseInt(scoreArr[i]); //error
document.write(x);*/
}
以上代码结果为:87 81 97 76 74 94 90 76 64 76
如果把注释去掉,结果变成了:
NaN NaN NaN87 87 NaN NaN NaN NaN81 81 NaN NaN NaN NaN97 97 NaN NaN NaN NaN76 76 NaN NaN NaN NaN74 74 NaN NaN NaN NaN94 94 NaN NaN NaN NaN90 90 NaN NaN NaN NaN76 76 NaN NaN NaN NaN64 64 NaN NaN NaN NaN76 76
为什么???