如何拆分这种方式

时间:2016-02-28 12:32:56

标签: javascript split

我试图从textarea获取具体价值。我知道这可以通过JavaScript的split方法完成。我无法理解该怎么做。

  <textarea
    name="css_sheet" rows="5">
    Hey @shaikatssj. How are you?
    </textarea>

或者

 <textarea name="css_sheet" rows="5">
        @name
      </textarea>

我希望获得价值 shaikatssj 名称

怎么做?

2 个答案:

答案 0 :(得分:0)

不是最优雅的方式,但这会从你的元素中获取文本并除去名称之外的所有内容。根据您提供的示例用户名。

var name = document.getElementsByName('css_sheet')[0].value;
name = name.split("@")[1];
name = name.split(" ")[0];
name = name.split(".")[0];

此代码将从元素中检索文本,然后从@开始检索该文本中的单词,并删除其末尾的.

答案 1 :(得分:0)

我宁愿选择这样的东西

function findThatThing(string)
{
    return string
              .match(/@([^\s,;!.]+)/g)                         //Match each @ until next white space or some punctuation
              .map(function(v){return v.substring(1); });  //Remove the @ from each result
}

例如

findThatThing("Hello @john and @jane, you can tag by using a @ sign!")

将返回

["john", "jane"]

如果允许 ES6 ,您可以进一步缩小代码。