带有用户输入的条件语句

时间:2015-06-20 20:32:38

标签: javascript

我正在开发一个textbot项目,如果我在文本框中输入一些文本,那么机器人会在控制台中吐出一些东西,相当简单。但是,我遇到了一个我非常沮丧的问题,并且没有设法解决。可能是一个简单的解决方案,但我无法找到它。

我想要做的是让文本框接受一个由用户输入+用户输入的变量组成的命令。像这样:

case "input " + condition {
  //do something with condition
}

我的问题是如何使输入和条件之间的文本框不同?我希望这个问题不难理解,但我不知道如何解释它:P

编辑: 例如:

文本框输入:

"!locate p.actionValue"

然后,根据人们输入的行为值,这应该返回如下内容:

if (actionvalue = 32) {
  //do something if actionvalue is 32
}

但是我如何区分命令和条件?

2 个答案:

答案 0 :(得分:0)

您可以按"输入"分割文字。然后你会得到命令

// array separated by 'input '
var command = textbox.split('input ');
// here you got your command: command[0]

当然,您需要验证它实际上是'input ',以及'input input '

等情况会发生什么

答案 1 :(得分:0)

您可以使用正则表达式来匹配输入并获取条件:

var match;
if (match = input.match(/^!locate (.*)/)) {
    var condition = match[1];
    // do something with condition
}

你可以更通用:

var match = input.match(/^!(\S+)\s+(.*)/);
if (match) {
    var command = match[1];
    var arg = match[2];
    switch (command) {
        case 'locate':
            ...
            break;
    }
}