javascript变量中的通配符?

时间:2015-11-17 22:33:04

标签: javascript

我需要一些关于此代码的帮助。我试图这样做,以便每次提到“帮助”这个词时,即使在一个句子的中间,它也会激活一个功能。这是代码的一部分:

var commands = {
    '!help': {
        name: '!help',
        toRun: help,
        typeOf: 'text',
        description: "Shows help.",
        hidden: false,
    },
    'more commands...'

基本上,你在代码中看到的第一个“!help”是在消息中要查找的内容,我不知道如何添加任何通配符,以便它可以在中间激活一句话。任何人都可以帮助我吗?

2 个答案:

答案 0 :(得分:0)

我不得不稍微改变编码,因为它无论如何都没有按照它的方式运行。最后,Jonathan的评论帮助了我。 谢谢!

答案 1 :(得分:-1)

一种方法是在脚本上运行正则表达式:

var string="testing !help testing";

for(var cmd in commands)
    if(new RegExp(cmd).test(string))
        console.log('found: '+commands[cmd].description);

它可以使用任意数量的选项进行缩放,您可以使用找到的对象执行任何操作(或找不到,视情况而定)。你可以在这里看到它:https://jsfiddle.net/6Lccypc7/

如果你想要更多控制,可以使用正则表达式对象作为键并直接测试它们,这样你就可以使用锚点或其他任何你需要的东西。