2016-10-06 2 views
0

를 감지 할 수 있도록하는 방법 :스크립트 같이 IndexOf()는 여기서 다른 검사 두 경우의 조건이다 문자열을

CASE 1 :

CASE (동일한 코드/프로그램) 다음

if(plan_name.indexOf("T1")>=0 && plan_name.indexOf("FLEX")>=0 && plan_name.indexOf("Non-VAE")>=0) { 
    //do something 
} 

2 :

if(plan_name.indexOf("T1")>=0 && plan_name.indexOf("Non-FLEX")>=0 && plan_name.indexOf("Non-VAE")>=0){ 
    //do something 
} 

위의 조건을 적용한 입력입니다.

같이 IndexOf()가 나는 코드를 탐지 할 문자열이 아닌 actual specific 문자열을 탐지하기 때문에 CASE 1에서 내 코드 매번 처음 if 상태에서 = iOS 7.7 - RC - T1 - Non-FLEX, Non-VAE

계획 이름 (즉 유효되고있다 사례 2는 유효해야 함). JS에서 이러한 특정 문자열 일치를 만드는 방법은 무엇입니까?

+1

* * 루프 : –

+0

나쁜 고정 ... 그래서 당신이 필요로하는 조건 –

+0

로 변경 내 수없는 경우 그것을 찢어 버리고 조각을 비교하십시오 – epascarello

답변

1

하나의 솔루션을 따로 분리하고, 문자열이

var str = "iOS 7.7 - RC - T1 - Non-FLEX, Non-VAE"; 
var parts = str.split(/[\s,]/g); 
console.log("FLEX", parts.indexOf("FLEX")!==-1); 
console.log("Non-FLEX", parts.indexOf("Non-FLEX")!==-1); 
0

하나의 옵션이 실행 흐름의 순서를 변경하는 것입니다 배열에 일치하는지 확인한다 : 첫 번째 조건은보다 엄격한이기 때문에

if(plan_name.indexOf("T1")>=0 && 
     plan_name.indexOf("Non-FLEX")>=0 && 
     plan_name.indexOf("Non-VAE")>=0){ 
    ... 
} else if(plan_name.indexOf("T1")>=0 && 
     plan_name.indexOf("FLEX")>=0 && 
     plan_name.indexOf("Non-VAE")>=0) { 
    ... 
} 

을 둘째, 두 번째 것은 첫 번째 것이 참이 아닌 경우에만 검사됩니다. 당신이 'VAE''Non-VAE'에 대해서도보고해야하는 경우 때문에 더 이상 옵션이 어쩌면,이없는 경우

그러나,이 경우에만 작동 당신이해야한다 "토큰 화"문자열 :이 토큰은 공백으로 구분 보인다, 당신은 할 수 분할 한 다음 결과 배열에서 필요한 각 토큰을 조사하십시오. 대신 ' FLEX'에 대한 'FLEX'모양과 ' Non-Flex'

0

수표의이

plan_name.indexOf("T1")>=-1 
같아야합니다

세 번째 옵션은 여전히 ​​토큰이 공백으로 구분하여 정규에 공간을 추가한다고 가정

하지이

plan_name.indexOf("T1")>=0