2012-09-18 2 views
0

나는 현재 사용자 입력을 일치하고있다. 나는 처음이 맞을 때만 일치시키기를 원한다.indexOf를 사용할 때와 비교했을 때 JavaScript 문자열이 처음에만 일치합니까?</p> <pre><code>user_input = "upload a file" if ("upload a file".indexOf(user_input.toLowerCase()) > -1) {} </code></pre> <p>이 잘 작동을하지만 문제는 내가 원하지 않는 "파일을"일치이며, 다음과 같이

이 일치해야합니다 :

"upload" 
"u" 
"upload a" 

이 일치하지 말아야 문자열이 처음부터 일치하지 않기 때문에 :

"a" 
"file" 

이이 indexOf으로 일어날 수 있도록하는 방법에 대한 제안 사항이 있습니까? 당신이 무엇을 설명

+3

indexOf의 반환 값을 0과 비교하십시오. http://stackoverflow.com/questions/1767246/javascript-check-if-string-begins-with-something – Vikdor

+0

Vikdor는 indexOf가 어디에서나 일치하기 때문에 작동하지 않습니다. 내가 원하지 않는 문자열. 나는 처음부터 만 끈에 어디서나 wnat하지 않습니다. – Sarahpre

+2

@Sarahpre Vikdor의 요점은 문자열의 _start에서 일치하면 _ 결과는 0이됩니다. – Alnitak

답변

3

indexOf 반환 경기의 인덱스, 그래서 당신은에 일치하는 경우 테스트 할 경우 시작은 0

을 반환하는 경우 바로 확인
user_input = "upload a file" 
if ("upload a file".indexOf(user_input.toLowerCase()) == 0) {} 
+1

JS의 온전함을 위해서, 그것은 아마도'==='이어야합니다. :-) – Pete

0

는 0으로 비교하는 것을 의미합니다 :

if ("upload a file".indexOf(user_input.toLowerCase()) == 0) { } 
0
<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 문자를 가져 와서 전체 문자열이 원하는 문자 수와 일치하는지 확인하십시오.