<!DOCTYPE html>
<html lang="ko">
    <head>
        <meta charset="UTF-8">
        <title>자바스크립트 글자수 제한하기</title>
        <script>
            document.addEventListener("DOMContentLoaded", () => {
                const maxLength = 10;
                const inputField = document.querySelector("#textInput");
                const textareaField = document.querySelector("#textAreaInput");

                const enforceLength = (event) => {
                    const value = event.target.value;
                    if (value.length > maxLength) {
                        event.target.value = value.slice(0, maxLength);
                    }
                };

                inputField.addEventListener("input", enforceLength);
                textareaField.addEventListener("input", enforceLength);
            });
        </script>
    </head>
    <body>
        <!-- 최대 10자까지 입력 가능한 텍스트 입력 필드 -->
        <input type="text" id="textInput" placeholder="최대 10자 입력 가능">

        <!-- 최대 10자까지 입력 가능한 텍스트 영역 -->
        <textarea id="textAreaInput" placeholder="최대 10자 입력 가능"></textarea>      
    </body>
</html>
실제 적용된 모습
<!DOCTYPE html>
<html lang="ko">
    <head>
        <meta charset="UTF-8">
        <title>자바스크립트 없이 HTML 속성만을 사용하여 동일한 기능을 구현</title>
    </head>
    <body>
        <!-- 최대 10자까지 입력 가능한 텍스트 입력 필드 -->
        <input type="text" id="textInput" placeholder="최대 10자 입력 가능">

        <!-- 최대 10자까지 입력 가능한 텍스트 영역 -->
        <textarea id="textAreaInput" placeholder="최대 10자 입력 가능"></textarea>      
    </body>
</html>
실제 적용된 모습
/* 말줄임 표시 함수 */
const ellipsisTextOverflow = (str, length) => {
    if (typeof str !== "string") {
        console.error("문자열을 입력하세요!");
        return;
    }

    // length 인자가 유효한 정수인지 확인, 그렇지 않으면 기본값 20을 사용
    const lengthIndex = (Number.isInteger(length) && length > 0) ? length : 20;

    if (str.length > lengthIndex) {
        // 문자열이 지정된 길이를 초과하면 말줄임 표시 추가
        return str.substring(0, lengthIndex) + "...";
    } else {
        // 문자열이 지정된 길이를 초과하지 않으면 그대로 반환
        return str;
    }
};

console.log(ellipsisTextOverflow("이 문자열은 너무 깁니다.", 10)); // 출력: 이 문자열은...
console.log(ellipsisTextOverflow("짧은 문자열", 20)); // 출력: 짧은 문자열
console.log(ellipsisTextOverflow("유효하지 않은 길이", -5)); // 출력: 유효하지 않은 길이...
console.log(ellipsisTextOverflow(12345, 10)); // 출력: "문자열을 입력하세요!" (콘솔 오류 메시지)