discord.js中的正则表达式昵称

discord.js中的正则表达式昵称,discord.js,Discord.js,除了字母a和z之外,我想删除昵称中的其他字母 我用过这个,但它不起作用 我是说如果⍭ 布朗迪·舒罗。将服务器bot集昵称加入到Brndy Shuir 我该怎么做 client.on('guildMemberAdd', (member) => { let nickkontrol = member.user.username.split("") if (!allLetters('a', 'z').some(letter => nickkontrol.includes

除了字母a和z之外,我想删除昵称中的其他字母 我用过这个,但它不起作用 我是说如果⍭ 布朗迪·舒罗。将服务器bot集昵称加入到Brndy Shuir 我该怎么做

client.on('guildMemberAdd', (member) => {


    let nickkontrol = member.user.username.split("")

    if (!allLetters('a', 'z').some(letter => nickkontrol.includes(letter))) {
        member.Setnickname.replace(/([^a-z0-9]+)/gi, ' ');
    } else {
        return;
    }

    function allLetters(charA, charZ) {
        let a = [], i = charA.charCodeAt(0), j = charZ.charCodeAt(0);
        for (; i <= j; ++i) {
            a.push(String.fromCharCode(i))
        }
        return a;
    }

});
client.on('guildMemberAdd',(成员)=>{
让nickcontrol=member.user.username.split(“”)
如果(!allLetters('a','z').some(letter=>nickcontrol.includes(letter))){
成员.set昵称.replace(/([^a-z0-9]+)/gi,”);
}否则{
返回;
}
函数所有字母(字符、字符){
设a=[],i=charA.charCodeAt(0),j=charZ.charCodeAt(0);

首先,您的regex当前没有保存空格-您可以通过添加一个空格来修复此问题,使其看起来像
/([^a-z0-9]+)/gi
。您的replace函数也将用空格代替它,而不是什么都没有

其次,将
member.set昵称.replace
更改为
member.set昵称(replace())
,这样您的最后一行应该是

member.setNickname(member.user.username.replace(/([^a-z0-9 ]+)/gi, ''))

如果您仍然需要更多帮助,或者此解决方案不起作用,请检查。

replace未定义抱歉,您是对的,它应该是'member.user.username.replace',当我将If(!alllets)放入其中时,它不起作用功能但当我把所有字母都放在函数外时,它就起作用了。我如何修复这个问题?如果某人的昵称中没有禁止字母会发生什么?或者如果某人的昵称中有完全禁止字母会发生什么?