Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/385.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/88.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 检查用户是否键入了带有变量的特定字符串_Javascript_Jquery_Variables_If Statement - Fatal编程技术网

Javascript 检查用户是否键入了带有变量的特定字符串

Javascript 检查用户是否键入了带有变量的特定字符串,javascript,jquery,variables,if-statement,Javascript,Jquery,Variables,If Statement,为了使用下面的语句简化我的问题,我如何让javascript始终打印以控制用户键入的内容 我的代码中的一点 if (userTyped === 'getname '+ variable) { 其中“variable”将始终等于他们键入的字符串的最后一半。例如,如果用户键入“getname 398502”,则将其记录到控制台,或者如果用户键入“getname 598024”,则将其记录到控制台 因此,只要他们键入“getname”,然后打印他们键入的所有内容。您可以使用正则表达式验证命令并提取参

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

我的代码中的一点

if (userTyped === 'getname '+ variable) {
其中“variable”将始终等于他们键入的字符串的最后一半。例如,如果用户键入“getname 398502”,则将其记录到控制台,或者如果用户键入“getname 598024”,则将其记录到控制台


因此,只要他们键入“getname”,然后打印他们键入的所有内容。

您可以使用正则表达式验证命令并提取参数。比如:

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]);
可以等于用户键入的任何内容

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

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

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

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


Fiddle

如果(userTyped=='getname'+变量){
?也许可以使用正则表达式验证命令,并使用捕获组作为命令参数。更新了问题。谢谢。我可能解释得不好,但这已经为我证明了解决方案!Danke Every!
if( /^getname /i.test( input ) ) { 
    console.log( input.replace( /^getname /i, "" ) ); 
}