JavaScript - 将单词拆分为字母并将其保存到数组中

时间:2016-09-16 19:21:25

标签: javascript arrays

我有这段代码:

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Bad Grammar Generator</title>
</head>
<body>

  <input type="text" id="userIn">
  <input type="button" name="name" id="btn" value="Bad Grammar-ify" onclick="badgrammar()">
  <span id="output"></span>
  <script type="text/javascript">
    var userIn = document.getElementById("userIn").value;
    function badgrammar() {
      var userIn = document.getElementById("userIn").value;
      var output = document.getElementById("output");
      var split = new Array();
      split = userIn.split(" ");
      output.innerText = split;
    }
  </script>

</body>
</html>

它可以工作,但它将用户输入分成一个单词。如何将用户输入拆分为字母?

示例:

输入:Hi there 输出:H,i,t,h,e,r,e

2 个答案:

答案 0 :(得分:3)

这应该做你想要的:

var split = userIn.replace(/ /g, '').split('');

请注意,此处有两个步骤:

  1. replace(' ', '')删除输入中的所有空格(替换为空格)。
  2. split('')分成单个字符。

答案 1 :(得分:3)

您可以使用match

s = "hi there";
res = s.match(/\S/g);
console.log(res);

正则表达式\S匹配任何不是空格的单个字符。 match返回一个包含所有匹配项的数组,所以它确实是一个包含单个字符元素的数组,包括输入中的所有字符,除了空格。