【问题标题】:Print user input but add a new format or characters between the numbers ?打印用户输入但在数字之间添加新格式或字符?
【发布时间】:2018-11-23 06:49:37
【问题描述】:

我想像下面的例子一样输入数字并打印出来。

输入:0000000000 打印格式:*0*0*0*0*0*0*0*0*0*0*

我似乎无法用我所读到的关于 html 格式的内容来弄清楚。 如果我可以使用类似: $(this).formatCurrency({ symbol: '*', 在数字之间加上 *。

非常感谢任何帮助或提示!

我目前拥有的是这个

enter code here
<!DOCTYPE html>
<html>
  <head lang="en">
  <meta charset="UTF-8">
  <script language="JavaScript">
       function showInput() {
       document.getElementById('display').innerHTML = 
                document.getElementById("user_input").value;
       }


 </script>

  </head>
<body>

  <form>
    <label><b>Enter a Message</b></label>
    <input type="text" name="message" id="user_input">
  </form>

  <input type="submit" onclick="showInput();"><br/>
  <label>Your input: </label>
  <p>*<span id='display'></span>*</p>
</body>
</html>

【问题讨论】:

    标签: html input printing


    【解决方案1】:

    你可以像下面这样使用 concat:

    function showInput() 
     {
    
      var inp=document.getElementById("user_input").value;
      var hello='*';
      
      for (var i = 0; i < inp.length; i++) {
        hello+=inp[i].concat('*');
      }
    
     document.getElementById('display').innerHTML = hello;
     }
    <!DOCTYPE html>
    <html>
      <head lang="en">
      <meta charset="UTF-8">
    
      </head>
    <body>
    
      <form>
        <label><b>Enter a Message</b></label>
        <input type="text" name="message" id="user_input">
      </form>
    
      <input type="submit" onclick="showInput();"><br/>
      <label>Your input: </label>
      <p><span id='display'></span></p>
    </body>
    </html>

    【讨论】:

      【解决方案2】:

      您可以遍历所有数字并在所需位置插入一个“*”substr

      var input = '000000000000000000000';
      var newNumbers = input;
      
      for (var i = 1; i < input.length * 2 - 1; i = i + 2) { 
          
          newNumbers = newNumbers.substr(0, i) + "*" + newNumbers.substr(i);  
      }
      alert(newNumbers);

      【讨论】:

        【解决方案3】:

        您可以使用split('') 将输入分成单个字符,并使用join('*') 在每个字符后插入*

               function showInput() {
               document.getElementById('display').innerHTML = 
                        document.getElementById("user_input").value.match(/.{1}/g).join('*');
               }
        <!DOCTYPE html>
        <html>
          <head lang="en">
          <meta charset="UTF-8">
          </head>
        <body>
        
          <form>
            <label><b>Enter a Message</b></label>
            <input type="text" name="message" id="user_input">
          </form>
        
          <input type="submit" onclick="showInput();"><br/>
          <label>Your input: </label>
          <p>*<span id='display'></span>*</p>
        </body>
        </html>

        或者你使用正则表达式得到同样的结果:

        function showInput() {
               document.getElementById('display').innerHTML = 
                        document.getElementById("user_input").value.match(/.{1}/g).join('*');
               }
        

        【讨论】:

          猜你喜欢
          • 2015-06-04
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2017-04-20
          • 2012-06-24
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多