检查用户是否使用变量键入特定字符串

时间:2013-02-04 17:23:16

标签: javascript jquery variables if-statement

为了使用下面的语句简化我的问题,如何让我的javascript始终打印到控制台用户键入的内容?

我的代码中的一个短信

if (userTyped === 'getname '+ variable) {

其中'variable'将始终等于他们键入的字符串的后半部分。例如,如果用户键入“getname 398502”,则将其记录到控制台,或者如果用户键入“getname 598024”,则将其记录到控制台。

只要他们输入'getname'然后打印他们输入的所有内容。

4 个答案:

答案 0 :(得分:1)

您可以使用正则表达式来验证命令并提取参数。类似的东西:

var input = 'getname 19395029'; //Sample input
var re = /^getname (\d+)$/g;
var match = re.exec(input);
if(match) // Input matches command format
    window.alert('Getting name: ' + match[1]);

答案 1 :(得分:1)

您需要确保'getname '位于字符串的开头:

if (userTyped.indexOf('getname ') === 0) {
    console.log(userTyped);
}

答案 2 :(得分:1)

尝试

if( /^getname /i.test( input ) ) { 
    console.log( input.replace( /^getname /i, "" ) ); 
}

小提琴here

答案 3 :(得分:0)

  

可以等同用户键入的任何内容

然后您不想针对变量(具有特定值)进行测试。相反,您希望针对'getname'测试第一部分,并将第二部分解析为变量。您可以使用regular expressions执行此操作,例如:

var match = userTyped.match(/^getname (\d+)$/);
if (match) {
    var variable = match[1]; // maybe parseInt(match[1], 10) ?
}