从textarea获取文本

时间:2018-01-29 01:41:45

标签: javascript

如何创建一个从textarea中提取文本并将其分成单个单词并将所有单词放在数组中的函数?

<body>

 <textarea name="text" id="" cols="30" rows="10" id="textarea"></textarea>
 <button id="button">Click</button>


 <script src="script.js"></script>
</body>

这就是我得到的:P已经被困了一段时间了。无法弄清楚该怎么做。请求帮助。     

 var btn = document.getElementById("button");
 btn.addEventListener("click", getText);

 function getText(){

 }

</script>

2 个答案:

答案 0 :(得分:5)

你完成了80%: - )

现在你需要从textarea中获取值,用这个regexp /\s+/替换空格(这只是为了替换连续的空格),然后将文本拆分为''(单个空格)

var btn = document.getElementById("button");
btn.addEventListener("click", getText);

var array;

function getText() {
  var textarea = document.getElementById('text');
  array = textarea.value.replace(/\s+/g, ' ').split(' ').filter((e) => e.length > 0);
  
  console.log(array);
}
<textarea name="text" id="text" cols="30" rows="10" id="textarea">Hello           World</textarea>
<button id="button">Click</button>

请参阅?现在你将值变为数组。

更新:根据@philg修饰符是必要的,以避免与第一个位置的新行不一致。

答案 1 :(得分:0)

function getText(){
   var text = document.getElementById("textarea").value;
   var words = text.split(/\s+/);
   return words;
}

value从textarea获取文本,Split使用空格将文本分解为单词。