【发布时间】:2017-11-27 19:52:08
【问题描述】:
如何使用replaceAll() 函数将给定字符串中的所有字符替换为*?
var words = ['marvel','computer','regex','throne'];
var rand = words[Math.floor(Math.random() * words.length)];
//should replace all characters in the string with *
$('#value').text(rand).replaceAll(rand,'*');
.container{
border: 1px solid black;
padding: 5px;
margin: 5px;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class='container'>
<input type='text' />
<span id='value'></span>
<hr />
<button type='button' id='submit'>Submit</button>
</div>
我宁愿不走正则表达式路线,但我猜我可能不得不这样做。
我正在编写一个简单的 hangman 程序来隐藏带有* 字符的字符串。然后用户输入一个字符,如果正确,则字符串中的字符将重置回其原始字符。
正则表达式非常适合这样的东西,我只是不太熟悉它。
【问题讨论】:
-
我猜你是对的。 see this answer
-
为什么不直接使用正则表达式?它实际上只是
/./g:jsfiddle.net/kz1m93d5 -
您可以遍历字符串并单独替换每个字符,例如
array[string][counter] = '*';(因为您将字符串存储在数组中) -
@craig_h 我正在编写一个简单的“hangman”程序来隐藏带有 * 字符的字符串。然后用户输入一个字符,如果正确,则字符串中的字符将重置回其原始字符。正则表达式非常适合这样的东西,我只是不太熟悉它。
-
@MasterYoda 啊,好的。然后我会遍历单词中的字符来创建掩码:jsfiddle.net/qqL9o129
标签: javascript jquery