본문 바로가기
Languages/Javascript

[Javascript]간단한 자소서 글자수 계산기 만들기

by 젊은오리 2022. 6. 27.
728x90

 

다음과 같이 타이핑한 글자 수를 적어주는 자소서 글자 계산기를 만들어보자.

 

 

만드는데 필요한 개념 3가지로 나누어봤다.

1. 이벤트(event): 마우스 클릭, 키보드 누름, 값 변화, 페이지 로딩 등의 사건을 말한다. etc..

2. 이벤트 핸들링(event handling): 글자 수를 센다, 입력된 수를 더한다 etc..

따라서 html에서는 <textarea 이벤트 = 이벤트핸들링></textarea> 와 같은 형식으로 적어놓고, <script>에서 이벤트핸들링에 대한 함수를 정의해 놓았다면, 우리가 원하는 이벤트에 대한 어떤 행동을 취할 것인지를 결정할 수 있다.

3. substring: 문자열에서 몇글자까지 자른다. 예시로 content.substring(0,5) "띄어쓰기를 포함해서 0이상 5미만의 문자열을 잘라낸다"라는 뜻이다.

 

 

 

Code

textarea onkeydown="counter();" : 키보드를 누를때마다 counter()함수를 호출한다.                           

counter()에는 타이핑된 값을 content로 지정하고, content의 길이가 200이 넘어갈 경우에 200자까지 자른 내용을 다시 content로 지정했다. 따라서 200자를 넘게 쓰더라도 content는 계속 그대로가 된다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
<!DOCTYPE html>
<html lang="ko">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>자소서 글자수 계산기</title>
    <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css" integrity="sha384-JcKb8q3iqJ61gNV9KGb8thSsNjpSL0n8PARn9HuZOnIxN0hoP+VmmDGMN5t9UJ0Z" crossorigin="anonymous">
    <style>
        h1 {
            margin-top: 30px;
        }
        #count {
            float: right;
        }
    </style>
</head>
<body class="container">
    <h1>자기소개</h1>
    <textarea onkeydown="counter();" class="form-control" rows="3" id="jasoseol"></textarea>
    <span id = "count"></span>
    <script>
        function counter(){
            var content = document.getElementById('jasoseol').value;
            if (content.length > 200){
                content = content.substring(0,200);
                document.getElementById('jasoseol').value = content;
            }
           
            document.getElementById('count').innerHTML = '('+content.length+'/200)'
 
        };
        counter();
    </script>
</body>
</html>
cs
728x90

'Languages > Javascript' 카테고리의 다른 글

[Javascript] 간단한 mbti 설문 만들기  (0) 2022.07.02
[Javascript] To-do-list만들기  (0) 2022.06.29

댓글