본문 바로가기
카테고리 없음

문자열 길이 구하기, 제한하기 length()

by kangs' tong 2023. 10. 14.

length() 메소드란?

JavaScript에서의 length() 메소드는 주어진 문자열의 길이를 반환하는 함수입니다. 이 메소드를 사용하면 문자열의 길이를 간편하게 알아낼 수 있습니다.

length() 메소드 사용법

length() 메소드는 문자열 객체에 포함되어 있으므로, 문자열 변수 뒤에 마침표(.)를 입력한 다음 length()를 호출하면 됩니다. 예를 들어, "Hello, World!"라는 문자열의 길이를 알고 싶다면 다음과 같이 작성할 수 있습니다.

var str = "Hello, World!";
var len = str.length;
console.log(len); // 출력 결과: 13

위 예제에서는 변수 str에 문자열을 선언한 후, str.length를 통해 문자열의 길이를 얻어와 변수 len에 대입하였습니다. 마지막으로 console.log()를 사용하여 변수 len의 값을 출력하였습니다. 이 결과로 "Hello, World!" 문자열의 길이인 13이 출력됩니다.

length() 메소드 주의사항

  • length() 메소드는 해당 문자열의 길이를 반환하기 때문에, 현제 문자열이 없는 경우 즉, 빈 문자열("")이거나 null이인 경우 길이는 0입니다.
  • 만약 변수에 문자열이 아닌 다른 자료형의 값이 저장되어 있다면, length()를 사용할 수 없습니다. 이 경우 TypeError가 발생하므로 변수의 자료형을 꼭 확인해야 합니다.
  • 한글이나 다른 유니코드 문자의 경우, 영문자와 달리 문자 하나가 2바이트로 인식되기 때문에 length() 메소드를 통해 얻어온 문자열의 길이는 실제 글자 개수가 아닐 수 있습니다.

length() 메소드 활용 예시

1. 사용자 입력 길이 제한

문자열의 길이를 제한하는 경우, length() 메소드를 사용하여 입력된 문자열의 길이를 검사할 수 있습니다. 예를 들어, 사용자에게서 입력받은 비밀번호를 제한된 길이로 설정하고 싶다면 다음과 같이 구현할 수 있습니다.

var password = prompt("비밀번호를 입력해주세요. (6자 이상, 12자 이하)");

if (password.length < 6 || password.length > 12) {
    alert("비밀번호는 6자에서 12자 사이로 입력해야 합니다.");
} else {
    alert("비밀번호가 성공적으로 등록되었습니다.");
}

위 예제에서는 prompt()를 사용하여 사용자에게 비밀번호를 입력받습니다. 만약 입력된 비밀번호의 길이가 6자 미만이거나 12자 초과라면, 유효하지 않은 길이임을 알리는 경고창을 띄우고, 그렇지 않은 경우에는 비밀번호가 성공적으로 등록되었다는 메시지 창을 띄웁니다.

2. 문자열 길이에 따른 조건 분기

문자열의 길이에 따라 다른 작업을 수행하는 경우, length() 메소드를 활용하여 조건 분기를 할 수 있습니다. 예를 들어, 입력된 메시지의 길이가 특정 길이보다 짧은 경우는 경고 메시지를 출력하고, 긴 경우는 입력한 메시지를 화면에 표시하는 함수를 다음과 같이 구현할 수 있습니다.

function showMessage(message) {
    if (message.length < 10) {
        alert("메시지가 너무 짧습니다!");
    } else {
        document.getElementById("message").innerText = message;
    }
}

위 예제에서는 함수 showMessage()를 선언하였습니다. 이 함수는 message라는 매개변수를 받아 문자열의 길이를 조사합니다. 만약 메시지의 길이가 10보다 짧다면 경고 메시지를 출력합니다. 그렇지 않은 경우에는 id가 "message"인 HTML 요소의 내용을 message로 설정하여 입력한 메시지를 화면에 표시합니다.

마무리

이 글에서는 JavaScript의 length() 메소드에 대해 알아보았습니다. length() 메소드는 문자열의 길이를 쉽게 알아낼 수 있으며, 사용자 입력 길이 제한이나 문자열 길이에 따른 조건 분기 등 다양한 상황에서 유용하게 활용될 수 있습니다.

댓글