我试图从textarea
获取具体价值。我知道这可以通过JavaScript的split
方法完成。我无法理解该怎么做。
<textarea
name="css_sheet" rows="5">
Hey @shaikatssj. How are you?
</textarea>
或者
<textarea name="css_sheet" rows="5">
@name
</textarea>
我希望获得价值 shaikatssj 或名称
怎么做?
答案 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 ,您可以进一步缩小代码。