2012-08-15 1 views
1

입력이 있는데 배열에 값이 있는지 알고 싶습니다. 간단한 예를 들어 내 배열은 내가 예를 들어 단순히 '일'을 입력하면이를 트리거하는 방법을 알아 냈어요입력에 배열의 단어가 포함되어있는 경우

var _array = ["sun", "mon", "tue", "wed", "thu", "fri", "sat"]; 

,하지만 난 'hhsun'또는 'sunee이'너무 존재하는지 알고 싶어요. _array의 요소가 텍스트 상자의 텍스트 문자열 인 경우

$('input').keyup(function() { 
    var _val = $(this).val(); 
    $('p').text(_val); 

    var _array = ["sun", "mon", "tue", "wed", "thu", "fri", "sat"]; 

    if (_array.indexOf(_val) != -1) { 
     $('span').text('it worked'); 
    } else { 
     $('span').text(_array.indexOf(_val)); 
    } 
}); 

fiddle

답변

8

확인 확인합니다 :

var _array = ["sun", "mon", "tue", "wed", "thu", "fri", "sat"]; 

for (var i = 0; i < _array.length; i++) { 
    if (_val.indexOf(_array[i]) != -1) { 
     $('span').text('it worked'); 
     return; 
    } 
} 

$('span').text('nothing'); 

데모 : http://jsfiddle.net/WLacb/3/


A가 약간 더 옵스크 용액 재 정규식과 같다 :

if (/sun|mon|tue|wed|thu|fri|sat/ig.test(_val)) { 
    $('span').text('it worked'); 
} else { 
    $('span').text('nothing'); 
} 

데모 : http://jsfiddle.net/WLacb/9/

+0

덕분에 블렌더, 다시 :) –

2

이 할 수있는 간단한 방법은 경우는 어레이의 각 요소를 통해 루프 jquery.each 명령 내장 체크 사용하는 텍스트 상자 값.

http://jsfiddle.net/WLacb/10/

$('span').text(-1); 
$.each(_array, function(key, value) { 
    if (_val.indexOf(value) != -1) { 
     $('span').text('it worked'); 
    } 
}); 
+0

선택하기 어려운,이 비록 조금 간단 나에게 도움을했습니다 –