0

私は現在、次のようにユーザー入力を照合しています。

user_input = "upload a file"

if ( "upload a file".indexOf(user_input.toLowerCase()) > -1 ) {}

これは問題なく動作しますが、問題は、私が望まない「ファイル」と一致することです。冒頭が正しい場合にのみ一致させたい。

これは一致する必要があります:

"upload"
"u"
"upload a"

文字列は最初から一致しないため、これは一致しないはずです。

"a"
"file"

これを実現する方法について何か提案はありますindexOfか?

4

3 に答える 3

3

indexOf一致のインデックスを返すので、最初に一致するかどうかをテストする場合は、0が返されるかどうかを確認してください。

user_input = "upload a file"
if ( "upload a file".indexOf(user_input.toLowerCase()) == 0 ) {}
于 2012-09-18T17:39:13.940 に答える
1
<script>
user_input = "upload a file"
if ( "upload a file".**substr**(0, user_input.length) == user_input.toLowerCase()) {}
</script>

入力を活用してください...

http://www.w3schools.com/jsref/jsref_substr.asp

文字列の最初のX文字を取得し、文字列全体が一致するか、任意の数の文字が一致することを確認します。

于 2012-09-18T17:42:47.590 に答える
0

あなたが説明することは、あなたがゼロと比較したいということを意味します:

if ( "upload a file".indexOf(user_input.toLowerCase()) == 0) { }
于 2012-09-18T17:38:25.297 に答える