Reputation: 35
I currently am matching user input as follows:
user_input = "upload a file"
if ( "upload a file".indexOf(user_input.toLowerCase()) > -1 ) {}
This work fine but the problem is, it matches "a file" which I don't want. I want it to only match if the beginning is correct.
This should match:
"upload"
"u"
"upload a"
This should not match, because the string does not match from the start:
"a"
"file"
Are there any suggestions on how to make this happen with indexOf
?
Upvotes: 1
Views: 1494
Reputation: 313
<script>
user_input = "upload a file"
if ( "upload a file".**substr**(0, user_input.length) == user_input.toLowerCase()) {}
</script>
Use the inputs to your advantage...
http://www.w3schools.com/jsref/jsref_substr.asp
Grab first X characters of the string, and make sure the whole string matches or any number of the characters you would like.
Upvotes: 1
Reputation: 97672
indexOf
return the index of the match, so if you want to test if it match at the beginning just check if it returns 0
user_input = "upload a file"
if ( "upload a file".indexOf(user_input.toLowerCase()) == 0 ) {}
Upvotes: 4
Reputation: 14521
What you describe means you want compare with zero:
if ( "upload a file".indexOf(user_input.toLowerCase()) == 0) { }
Upvotes: 0