1

以下のステートメントを使用して質問を簡略化するために、ユーザーが入力した内容をJavaScriptで常にコンソールに出力するにはどうすればよいですか?

私のコードからのブリップ

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

ここで、「変数」は、入力した文字列の後半に常に等しくなります。たとえば、ユーザーが「getname 398502」と入力した場合はコンソールに記録し、ユーザーが「getname598024」と入力した場合はコンソールに記録します。

'getname'と入力している限り、入力した内容をすべて出力します。

4

4 に答える 4

1

試す

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

ここでフィドル

于 2013-02-04T17:36:03.083 に答える
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]);
于 2013-02-04T17:31:59.007 に答える
1

'getname 'が文字列の先頭にあることを確認する必要があります。

if (userTyped.indexOf('getname ') === 0) {
    console.log(userTyped);
}
于 2013-02-04T17:34:41.760 に答える
0

ユーザーが入力したものと同じにすることができます

次に、(特定の値を持つ) 変数に対してテストしたくありません。代わりに、最初の部分をテストして'getname'、2 番目の部分を変数に解析します。正規表現を使用してそれを行うことができます。次に例を示します。

var match = userTyped.match(/^getname (\d+)$/);
if (match) {
    var variable = match[1]; // maybe parseInt(match[1], 10) ?
}
于 2013-02-04T17:32:54.023 に答える