글자수 계산기
글자 수를 계산하는 예제 소스입니다. 스크립트는 아래에 있으니 참고해 주십시오. 한글 2글자로 계산하였습니다.
글자 수: 0
글자수 계산기 스크립트
<p>글자 수 계산하기</p>
<textarea id="bsInputText" rows="4" cols="50" placeholder="글자를 입력하세요..."></textarea>
<p>글자 수: <span id="bsCharCount">0</span></p>
<script>
// 텍스트 입력란과 글자 수를 표시할 요소를 가져옵니다.
const inputText = document.getElementById("bsInputText");
const charCount = document.getElementById("bsCharCount");
// 텍스트 입력란의 내용이 변경될 때마다 글자 수를 업데이트하는 함수를 만듭니다.
inputText.addEventListener("input", updateCharCount);
function updateCharCount() {
// 입력된 텍스트의 길이를 가져와서 한글을 2바이트로, 엔터를 0바이트로 계산한 글자 수를 업데이트합니다.
const text = inputText.value;
const length = calculateKoreanCharCount(text);
charCount.textContent = length;
}
// 페이지가 로드될 때 글자 수를 초기화합니다.
updateCharCount();
function calculateKoreanCharCount(text) {
let count = 0;
for (let i = 0; i < text.length; i++) {
const charCode = text.charCodeAt(i);
// 각 글자의 유니코드 값을 확인하여 한글 음절인 경우 2바이트로 계산
if ((charCode >= 0x3131 && charCode <= 0x3163) ||
(charCode >= 0xAC00 && charCode <= 0xD7AF)) {
count += 2;
// 엔터일 경우 0바이트로 계산
} else if (charCode === 10) {
count += 0;
} else {
count += 1;
}
}
return count;
}
</script>