Javascript正则表达式测试方法无法正常工作

Javascript正则表达式测试方法无法正常工作,javascript,regex,Javascript,Regex,可能重复: 我使用以下方法传递这些参数: var stringValue = "50, abc"; var stringArray = stringValue.split(","); var agePattern = /^([0-9]|[1-9][0-9]|[1][0-4][0-9]|[1][5][0])$/g; age = getMatchingString(stringArray, agePattern); //-------------------------------------

可能重复:

我使用以下方法传递这些参数:

var stringValue = "50, abc";
var stringArray = stringValue.split(",");
var agePattern = /^([0-9]|[1-9][0-9]|[1][0-4][0-9]|[1][5][0])$/g;

age = getMatchingString(stringArray, agePattern);

//---------------------------------------------

function getMatchingString(stringArray, regexPattern) {
    //alert("getMatchingString");
    for (var i=0; i < stringArray.length; i++) {
        if (regexPattern.test(stringArray[i])) {

            return (stringArray[i].match(regexPattern)).toString();

        }
    }

    return null;
}
var stringValue=“50,abc”;
var stringArray=stringValue.split(“,”);
var agePattern=/^([0-9]|[1-9][0-9]|[1][0-4][0-9]|[1][5][0])$/g;
年龄=getMatchingString(stringArray,agePattern);
//---------------------------------------------
函数getMatchingString(stringArray,RegExpatern){
//警报(“getMatchingString”);
对于(var i=0;i

Chrome显示了以下有趣的行为,其中使用stringArray[i]和stringArray[0]的测试方法显示了不同的值,即使
i=0
,如图所示:

有人能给我解释一下吗?

var stringValue=“50,abc”;
var stringValue = "50, abc";
var stringArray = stringValue.split(",");
var age = getMatchingString(stringArray);

function getMatchingString(stringArray)
{
    var len=stringArray.length;
    for (var i=0; i < len; i++)
    {
        if(!isNaN(stringArray[i]))
        {
           return stringArray[i]
        }
    }

    return null;
}

alert(age)//50
var stringArray=stringValue.split(“,”); var age=getMatchingString(stringArray); 函数getMatchingString(stringArray) { var len=stringArray.length; 对于(变量i=0;i
也许,如果您在数组中循环以检查是否存在一个数字值,例如age,
isNaN
是比使用正则表达式模式更好的选择