我如何检查输入是否是数组中的数字(任何数字)

我正在制作一个阻止用户谈论年龄的机器人,但我有一个问题,我不知道如何解决。如果用户输入“我是(数字)”,它应该回复“不要在这里谈论年龄!”。这是我的代码(我需要帮助的部分)。


var age = ['how old', 'how old am i', 'how old are you', `i am ${!NaN}`];


if (age.includes(message.content)) {

    message.reply('Don't talk about age here!')

}

我是 ${!Nan} 应该是任何数字,但它不起作用。


拉丁的传说
浏览 137回答 3
3回答

蝴蝶不菲

对于正则表达式,您可能想尝试这样的事情:var age = ['how old', 'how old am i', 'how old are you', 'i am 10'];if (age[3].match(/(\d+)/)!=null) {    console.log("Don't talk about age here!")}

拉莫斯之舞

您可以使用正则表达式在输入字符串中查找数字(数字)字符。const containsNumber = (str) => /\d/.test(str)const result1 = containsNumber('I am 25 years old.')console.log(result1) // trueconst result2 = containsNumber('My age is a secret.')console.log(result2) // false模板文字语法如下:const myAge = 39const myString = `I am ${myAge} years old.`console.log(myString)

湖上湖

试试这个功能Number.isInteger(值)它将检查一个数字是否为整数,如果是则返回 true,否则返回 false。让我知道这个是否奏效 :)
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript