有@aa @bb    有多个@时我如何能取到每个@后面的值  我如何取到aa bb我用正则只能取到第一个值    var diaryContent = "@aa @bb";
    var name = new RegExp(/@([\u4e00-\u9fa5\w\-]*)+/g);
    var mentionName = name.exec(diaryContent);
    alert(mentionName[1]);

解决方案 »

  1.   


    var diaryContent = "@aa @bb";
        var name = new RegExp(/@([\u4e00-\u9fa5\w\-]*)+/g);
        var mentionName = diaryContent.match(name);
        for(var i = 0 ; i < mentionName.length ;i++ ){
            alert(mentionName[i]);
        }这样 ?
      

  2.   

        var diaryContent = "@aa @bb";
        var name = /[^@]+/g;
        var mentionName = diaryContent.match(name)//这个mentionName 是个数组,可以mentionName[1],mentionName[0]这样访问
        alert(mentionName[0]);
    alert(mentionName [1])
      

  3.   

    如果你非要用exec那就这样写
        var diaryContent = "@aa @bb";
        var name = new RegExp(/@([\u4e00-\u9fa5\w\-]*)/g);
        var mentionName ;
        while(mentionName = name.exec(diaryContent))
        {
            alert(mentionName[1])
        }
      

  4.   

        var diaryContent = "@aa @bb";
        var name = @([\u4e00-\u9fa5\w\-]*)/g;
        var mentionName ;
        while(mentionName = name.exec(diaryContent))
        {
            alert(mentionName[1]);//这个好
        }