Ciao, col tuo script mi pare che qualcosa stia succedendo. Perché dici che non funziona?
Se vuoi qualcosa di veramente casuale puoi adoperare la funzione Math.random().
Inoltre ci sono diversi metodi per sostituire singoli caratteri in una stringa. Tu hai usato replace ma in tal caso saranno sostituiti, di volta in volta, tutti i caratteri uguali a quello specificato.
Ti posto un esempio in cui ho utilizzato split e join, così da trasformare la stringa in array per poter ciclare e sostituire i singoli caratteri:
codice:<!DOCTYPE HTML> <html> <head> <title>Esempio</title> <meta charset="utf-8"> <script type="text/javascript"> function esegui(){ var arrTesto = document.getElementById("testo").value.split(""); // creo un array del testo for (var i=0; i<arrTesto.length-1; i++) { // ciclo i caratteri i += Math.floor(Math.random()*5); // aggiungo un valore casuale all'indice (da 0 a 5) arrTesto[i] = "_"; // sostituisco il carattere all'indice ottenuto } document.getElementById("risultato").innerHTML = arrTesto.join(""); // converto l'array in stringa e visualizzo il testo ottenuto } </script> </head> <body> <input id="testo" type="text" size=100 value="Lorem ipsum dolor sit amet, consectetur adipiscing"> <br><input type="button" value="Esegui" onclick="esegui()"> <hr><span id="risultato"></span> </body> </html>


Rispondi quotando