[JS] 자바스크립트 글자 미리보기 (String 메서드, getElementBy)

2022. 9. 8. 16:54·Front-End/HTML, CSS, JS
목차
  1. HTML
  2. JavaScript 코드
  3. String 메서드

자바스크립트를 이용해서 설정에 따라

적용된 글자를 미리 보는 간단한 프로그램이다.

주로 getElementByID와 String 메서드를 사용한다.


HTML

<body>
        <div>
            <input type="text" id="onText">
            <button onclick="previewStr()">미리 보기</button>
            <br>
            색상:
            <select id="color">
                <option value = "red">빨강</option>
                <option value = "blue">파랑</option>
                <option value = "green">녹색</option>
            </select>
            <br>
            크기:
            <select id="size">
                <option value = "1">1</option>
                <option value = "2">2</option>
                <option value = "3">3</option>
                <option value = "4">4</option>
                <option value = "5">5</option>
                <option value = "6">6</option>
                <option value = "7">7</option>
            </select>
            <br>
            <table>
                <tr>
                    <td><input name="fontOption" type="checkbox" value="strike">취소선</td>
                    <td><input name="fontOption" type="checkbox" value="big">크게</td>
                    <td><input name="fontOption" type="checkbox" value="small">작게</td>
                    <td><input name="fontOption" type="checkbox" value="bold">두껍게</td>
                    <td><input name="fontOption" type="checkbox" value="italics">기울임</td>
                </tr>
                <tr>
                    <td><input name="fontOption" type="checkbox" value="sub">위첨자</td>
                    <td><input name="fontOption" type="checkbox" value="sup">아래첨자</td>
                    <td><input name="fontOption" type="checkbox" value="upper">소문자로</td>
                    <td><input name="fontOption" type="checkbox" value="lower">대문자로</td>
                </tr>
            </table>
            <span id="resultStr"></span>
        </div>
    </body>

 

document 객체의 getElementByID(), getElementsByName(), getElementsByTagName()

메서드를 사용할 것이기 때문에 최대한 필터링하기 편하도록 HTML에서 태그들의 Id와 Name을 지정한다.

 


JavaScript 코드

<script language="javascript">
            function previewStr(){
                //입력된 문자 가져옴
                var result = document.getElementById("onText").value;
                
                //글자색 넣기
                var selectedColor = document.getElementById("color").value;
                result = result.fontcolor(selectedColor);

                //글자옵션
                var fontOptions = document.getElementsByName("fontOption");
                var checkedFontOptions = [];
                
                //체크된 것만 array에 추가
                for(var i=0; i<fontOptions.length; i++){
                    if(fontOptions[i].checked){
                        checkedFontOptions.push(fontOptions[i].value);
                    }
                }
                
                //폰트옵션 적용
                for(var i=0; i<checkedFontOptions.length; i++){
                    if(checkedFontOptions[i] == "strike"){
                        result = result.strike();
                    }
                    else if(checkedFontOptions[i] == "big"){
                        result = result.big();
                    }
                    else if(checkedFontOptions[i] == "small"){
                        result = result.small();
                    }
                    else if(checkedFontOptions[i] == "bold"){
                        result = result.bold();
                    }
                    else if(checkedFontOptions[i] == "italics"){
                        result = result.italics();
                    }
                    else if(checkedFontOptions[i] == "sub"){
                        result = result.sub();
                    }
                    else if(checkedFontOptions[i] == "sup"){
                        result = result.sup();
                    }
                    else if(checkedFontOptions[i] == "upper"){
                        result = result.toLowerCase();
                    }
                    else if(checkedFontOptions[i] == "lower"){
                        result = result.toUpperCase();
                    }
                }
                
                //글자크기
                var selectedSize = document.getElementById("size").value;
                result = result.fontsize(selectedSize);

                document.getElementById("resultStr").innerHTML = result;
            }
        </script>

 

* 전체코드 더보기

더보기
<html>
    <head>
        <title>글자 미리보기</title>
        <script language="javascript">
            function previewStr(){
                //입력된 문자 가져옴
                var result = document.getElementById("onText").value;
                
                //글자색 넣기
                var selectedColor = document.getElementById("color").value;
                result = result.fontcolor(selectedColor);

                //글자옵션
                var fontOptions = document.getElementsByName("fontOption");
                var checkedFontOptions = [];
                
                //체크된 것만 array에 추가
                for(var i=0; i<fontOptions.length; i++){
                    if(fontOptions[i].checked){
                        checkedFontOptions.push(fontOptions[i].value);
                    }
                }
                
                //폰트옵션 적용
                for(var i=0; i<checkedFontOptions.length; i++){
                    if(checkedFontOptions[i] == "strike"){
                        result = result.strike();
                    }
                    else if(checkedFontOptions[i] == "big"){
                        result = result.big();
                    }
                    else if(checkedFontOptions[i] == "small"){
                        result = result.small();
                    }
                    else if(checkedFontOptions[i] == "bold"){
                        result = result.bold();
                    }
                    else if(checkedFontOptions[i] == "italics"){
                        result = result.italics();
                    }
                    else if(checkedFontOptions[i] == "sub"){
                        result = result.sub();
                    }
                    else if(checkedFontOptions[i] == "sup"){
                        result = result.sup();
                    }
                    else if(checkedFontOptions[i] == "upper"){
                        result = result.toLowerCase();
                    }
                    else if(checkedFontOptions[i] == "lower"){
                        result = result.toUpperCase();
                    }
                }
                
                //글자크기
                var selectedSize = document.getElementById("size").value;
                result = result.fontsize(selectedSize);

                document.getElementById("resultStr").innerHTML = result;
            }
        </script>
    </head>

    <body>
        <div>
            <input type="text" id="onText">
            <button onclick="previewStr()">미리 보기</button>
            <br>
            색상:
            <select id="color">
                <option value = "red">빨강</option>
                <option value = "blue">파랑</option>
                <option value = "green">녹색</option>
            </select>
            <br>
            크기:
            <select id="size">
                <option value = "1">1</option>
                <option value = "2">2</option>
                <option value = "3">3</option>
                <option value = "4">4</option>
                <option value = "5">5</option>
                <option value = "6">6</option>
                <option value = "7">7</option>
            </select>
            <br>
            <table>
                <tr>
                    <td><input name="fontOption" type="checkbox" value="strike">취소선</td>
                    <td><input name="fontOption" type="checkbox" value="big">크게</td>
                    <td><input name="fontOption" type="checkbox" value="small">작게</td>
                    <td><input name="fontOption" type="checkbox" value="bold">두껍게</td>
                    <td><input name="fontOption" type="checkbox" value="italics">기울임</td>
                </tr>
                <tr>
                    <td><input name="fontOption" type="checkbox" value="sub">위첨자</td>
                    <td><input name="fontOption" type="checkbox" value="sup">아래첨자</td>
                    <td><input name="fontOption" type="checkbox" value="upper">소문자로</td>
                    <td><input name="fontOption" type="checkbox" value="lower">대문자로</td>
                </tr>
            </table>
            <span id="resultStr"></span>
        </div>
    </body>
</html>

String 메서드

https://www.w3schools.com/jsref/jsref_obj_string.asp

 

JavaScript String Reference

W3Schools offers free online tutorials, references and exercises in all the major languages of the web. Covering popular subjects like HTML, CSS, JavaScript, Python, SQL, Java, and many, many more.

www.w3schools.com

 


참고 문헌 : w3schools.com

 

'Front-End > HTML, CSS, JS' 카테고리의 다른 글

[CSS] Pretendard 숫자 데이터 고정폭 적용하기  (2) 2025.05.07
[JS] 회원가입 페이지 사용자 입력 유효성 검사 (정규식, 비정규식)  (0) 2022.09.14
[JS] 자바스크립트 공학용 계산기 만들기  (1) 2022.09.13
[HTML] <form>을 사용한 로그인 페이지 구현 (audio 음악재생)  (0) 2022.09.10
  1. HTML
  2. JavaScript 코드
  3. String 메서드
'Front-End/HTML, CSS, JS' 카테고리의 다른 글
  • [CSS] Pretendard 숫자 데이터 고정폭 적용하기
  • [JS] 회원가입 페이지 사용자 입력 유효성 검사 (정규식, 비정규식)
  • [JS] 자바스크립트 공학용 계산기 만들기
  • [HTML] <form>을 사용한 로그인 페이지 구현 (audio 음악재생)
현기
현기
  • 현기
    현기의 개발블로그
    현기
  • 전체
    오늘
    어제
    • 분류 전체보기 (120)
      • Front-End (39)
        • Next (5)
        • React (8)
        • React Native (11)
        • Flutter (0)
        • Vue (1)
        • JSP (9)
        • HTML, CSS, JS (5)
      • Back-End (16)
        • Node.js (3)
        • Spring (8)
        • Flask (1)
        • AWS (4)
      • DB (5)
        • Oracle (4)
        • MySQL (1)
      • Python (7)
      • Java (27)
        • 자바 이론 (17)
        • 코딩테스트 연습 & 실습 (10)
      • 자료구조 & 알고리즘 (7)
        • 코딩테스트 (6)
        • 알고리즘 (1)
      • 블록체인 (0)
      • 프롬프트 엔지니어링 (0)
      • CS 지식 (5)
      • IT뉴스 (0)
      • 일상 (3)
      • etc (11)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    오라클
    next-intl
    Python
    react-native-chart-kit
    자바 스프링
    쓰레드
    큐
    포스트맨
    JDBC
    React Native
    파이썬
    상속
    REST API
    티스토리챌린지
    서블릿
    IS-A
    DI
    Java
    리액트 네이티브
    node.js
    오블완
    Spring
    자바
    그리디
    스택
    자바스크립트
    react
    JSP
    Express
    React Native Chart
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.1
현기
[JS] 자바스크립트 글자 미리보기 (String 메서드, getElementBy)
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.