Javascript 在句末插入随机字符

Javascript 在句末插入随机字符,javascript,Javascript,我想要一个函数,它将在每个句子的末尾添加一个随机符号,并删除所有元音。我知道句子可能以一个字母结尾!或但是让我们说这些句子只以句号结尾。每个符号都必须是不同的,我已经在最后一句末尾插入了一个星号。如何在每个句子的结尾添加不同的符号?这就是我目前所拥有的 function txtMod(str){ var vowels = /[aioue]/gi ; var words = str.split(" "); words.splice(words.length,2,"*");

我想要一个函数,它将在每个句子的末尾添加一个随机符号,并删除所有元音。我知道句子可能以一个字母结尾!或但是让我们说这些句子只以句号结尾。每个符号都必须是不同的,我已经在最后一句末尾插入了一个星号。如何在每个句子的结尾添加不同的符号?这就是我目前所拥有的

function txtMod(str){
    var vowels = /[aioue]/gi ;
    var words = str.split(" ");
    words.splice(words.length,2,"*");
    var join = words.join(" ");
    var toStr = join.toString();
    return toStr.replace(vowels'');
}
txtMod("Hello world. This is just a test.");

一个简单的随机字符生成器是使用
Math.random
生成一个随机数,然后使用该数字索引到字符串或数组中。范例

function randomChar () {
    var template="!@#$%^&*";
    return template.charAt(Math.floor(Math.random()*template.length))
}
然后只需将该字符添加到字符串的末尾:

return txtMod(some_string) + randomChar() + randomChar();
好的,试试这个




我在那里链接了很多方法,所以如果你需要任何澄清,我们可以聊一聊什么的。干杯。

您希望添加哪些随机符号?任何符号都不会起任何作用,只是类似于星号基本移位的数字键。!@$%^&依此类推,
join
方法返回一个字符串,因此对其结果调用
toString
是浪费CPU周期。好吧,我发布了我的答案。嗯?出来什么?您在错误控制台中是否收到任何错误?以下是@Joe Simmons在控制台上记录的内容:“Hll wrld.#Ths jst tst.&Dn't mnd m..”只是一个额外的句点,我编辑了我的答案以修复额外的句点。但是这是关于一个额外的
Dn't
?这是第三句的一部分。你运行它时没有看到它吗?它只是在我的editorNope中有一个\n之后,我没有看到反斜杠(或任何斜杠)。我在Scratchpad、自定义JS测试仪、JSFIDLE和用户脚本(Greasemonkey)中尝试了它。可能是你的编辑或其他可疑的东西。在我的小提琴中测试它:
function getRandomSymbol() {
    var symbols = [
        '!', '@', '#', '$', '%', '^', '&', '*'
    ];
    return symbols[ Math.floor( Math.random() * symbols.length ) ];
}

function txtMod(str) {
    var vowels = /[aioue]/gi;

    return str.replace(vowels, '').split(/\./).map(function (thisSentence) {
        return thisSentence + '.' + getRandomSymbol();
    }).join('').slice(0, -2);
}

txtMod("Hello world. This is just a test. Don't mind me.");