Напечатать ввод пользователя, но добавить новый формат или символы между числами? - PullRequest
0 голосов
/ 23 ноября 2018

Я хочу ввести числа и напечатать их, как показано ниже.

Ввод: 0000000000 Печать в формате: * 0 * 0 * 0 * 0 * 0 * 0 * 0 * 0 * 0 * 0*

Я не могу понять это с тем, что я прочитал о форматах в HTML.Если бы я мог использовать что-то вроде: $ (this) .formatCurrency ({символ: '*', чтобы добавить * между числами.

Был бы очень признателен за любую помощь или советы!

Чтоу меня до сих пор это

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>

Ответы [ 3 ]

0 голосов
/ 23 ноября 2018

Вы можете перебрать все числа и вставить «*» в нужную позицию с помощью 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);
0 голосов
/ 23 ноября 2018

Вы можете использовать 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('*');
       }
0 голосов
/ 23 ноября 2018

Вы можете использовать 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>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...