为了使用下面的语句简化我的问题,我怎样才能让我的 javascript 始终打印以控制台用户键入的内容?
我的代码中的一个亮点
if (userTyped === 'getname '+ variable) {
其中“变量”将始终等于他们键入的字符串的后半部分。例如,如果用户键入“getname 398502”然后将其记录到控制台,或者如果用户键入“getname 598024”然后将其记录到控制台。
因此,只要他们输入“getname”,然后打印他们输入的所有内容。
为了使用下面的语句简化我的问题,我怎样才能让我的 javascript 始终打印以控制台用户键入的内容?
我的代码中的一个亮点
if (userTyped === 'getname '+ 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 '
位于字符串的开头:
if (userTyped.indexOf('getname ') === 0) {
console.log(userTyped);
}
可以等于用户输入的任何内容
然后,您不想针对变量(具有特定值)进行测试。相反,您想要测试第一部分'getname'
并将第二部分解析为变量。您可以使用正则表达式来做到这一点,例如:
var match = userTyped.match(/^getname (\d+)$/);
if (match) {
var variable = match[1]; // maybe parseInt(match[1], 10) ?
}