2012-10-03 5 views
-1

UI에 입력 텍스트 필드가 있습니다.STRING COMPARSION FLASH AS3

사용자가 "GIRAFFEEE", "GIRAFEAAA"또는 "GIRAFFE123"을 입력하고 제출하십시오. 점수 값은 0이어야합니다. 그러나 1을 반환합니다.

어떻게 대소 문자 구분 문자열을 올바르게 비교합니까? 당신이 다음 테스트 경우

qns1 = qns1_txt.text.toLowerCase(); 
qns1Ans = "giraffe" 
//.toLowerCase(); 
if (qns1 == qns1Ans) 
{ 
    score = 1; 
} 
else 
{ 
    score = 0; 
} 
+1

대문자를 끕니다. –

+0

는 대문자를 사과합니다. – DANLEE

+0

감사합니다. 이제 qns1 = qns1_txt.text.toLowerCase(); 문자열 바로 뒤에'trace (qns1)'를 놓고 출력을 표시하십시오. –

답변

0

:

var correct:String = "giraffe"; 
var userAns:String = "giraffeaaaa"; 

trace(correct == userAns);//false - as expected 

그것이 의미 문자열 비교 작동합니다 :)

내가 테스트 코드가 거짓을 초래할 수있는 텍스트 필드의 변경 이벤트에 있다고 가정 사용자가 정답의 일부를 입력 할 수 있으므로 긍정적 인 점을 알기를 바랍니다.

function validate() 
{ 
    qns1 = qns1_txt.text.toLowerCase(); 
    qns1Ans = "giraffe" 

    score = 0; 
    if(qns1 == qns1Ans) 
    { 
     score = 1; 
    } 
} 

사용자가 제출을 명중 할 때 그것을 부르십시오, 당신은 또한 끈의 길이를 비교할 수 있었다 그러나 동등한 통신 수는 다만 잘 할 것이다.