2014-07-21 2 views
0

사용자 만 입력하십시오. Alice and Bob to be greeted. 하지만 앨리스와 밥의 입력을 대소 문자를 구분하지 않도록 (예 : 앨리스, 앨리스, 앨리스, 앨리스 등) 입력하겠습니다.사용자 입력 대/소문자 구분 안 함

var name = prompt("What's your name?"); 

var user1 = "Alice", user2 = "Bob"; 

if (name == user1) { alert("Hi " + user1); } 
else if (name == user2) { alert("Hi " + user2); } 
else { alert("You're neither Alice nor Bob."); } 

나는 많은 게시물을 읽었지만 그 중 아무 것도 나를 이해하지 못했습니다.

미리 감사드립니다.

+0

, 당신이 사용하고있는 언어 질문에 태그를하시기 바랍니다. 이번에'javascript'를 추가했습니다. – Blorgbeard

답변

1

테스트하기 전에 입력 할 문자열과 테스트 할 문자열을 대문자 (대문자 또는 소문자)로 변환하십시오.

당신은 자바 스크립트를 사용하는 경우 :

if (name.toLowerCase() == user1.toLowerCase()) 
{ 
    alert("Hi " + user1); 
} 
... 

다른 언어는 문자열의 경우를 변환하는 유사한 기능을해야합니다. 비교시

+0

효과가있었습니다! 고맙습니다. 내가 작성한 실수는 다음과 같습니다. if (name == user1.toLowerCase()) {alert ("Hi"+ user1.toLowerCase()); } 그래서 내가 제대로 작동하지 않습니다. – FrankDraws

1

Convert the strings to lowercase :

if (name.toLowerCase() === user1.toLowerCase()) { 
    alert("Hi " + user1); 
} 

원하는 경우 원하는 경우, 당신은 uppercase를 사용할 수 있습니다.

두 개 이상의 이름이있는 경우,이 배열 사용하는 것이 더 좋을 수도 있습니다 : 앞으로

var users = ['Alice', 'Bob']; 
var u = users.indexOf(name.toLowerCase()); 

if (u > -1) { 
    alert("Hi " + users[u]); 
} else { 
    alert("You're neither Alice nor Bob."); 
} 
+0

도움에 감사드립니다. 호기심입니다. "if (u> -1)"의 의미는 무엇입니까? 설명 할 마음이 없으면? "u"가 변수라는 것을 알고 있습니다. 나는 "> -1"이 무엇을 의미하는지 모른다. 다시 한번 감사드립니다. – FrankDraws

+0

'u'는'users' 배열에있는 이름의 인덱스 또는 위치입니다. -1 인 경우 배열에서 찾을 수 없습니다. -1보다 크면 배열의 어딘가에 있습니다. –

+0

"사용자"배열에는 소문자 버전 이름이 있어야합니다. – lightalchemist

관련 문제