Wie kann ich alle Zeichen in einer gegebenen Zeichenfolge mit *
mit der replaceAll()
Funktion ersetzen?Ersetzen Sie alle Zeichen in einer Zeichenfolge jquery
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>
Id eher nicht die Regex Weg gehen, aber Im schätzend ich kann.
Im ein einfaches Henker Programm für Spaß zu schreiben, die die Zeichenfolge mit *
Zeichen verbergen. Der Benutzer gibt dann ein Zeichen ein, und wenn das Zeichen in der Zeichenfolge korrekt ist, wird es auf sein Original zurückgesetzt.
Regex ist großartig für solche Sachen, ich bin einfach nicht so vertraut mit ihm.
ich denke, Sie richtig sind. [siehe diese Antwort] (https://stackoverflow.com/questions/23325973/jquery-replace-in-html) – ARr0w
Warum nicht einfach Regex verwenden? Es ist buchstäblich nur '/./g': https://jsfiddle.net/kz1m93d5/ –
Sie könnten durch die Zeichenfolge durchlaufen und jedes Zeichen einzeln ersetzen, etwas wie 'array [string] [counter] = '*';' (da du deine Strings in einem Array speicherst) –