[ JavaScript ] 입력에 대한 처리 및 문자열 검사

2024. 5. 7. 23:14· FRONT-END/└ JS

환경 : Visual Studio Code

 

 

 

출력결과 (정규표현식 불일치 / 일치)

 

[ 주요 코드 ]

    <script type="text/javascript">
        
        function checkText(){
            var inputTarget = document.querySelector(".temp");
            var text = inputTarget.value;
            //console.log(text);
            //console.log(text.length);//자바스크립트는 문자열을 문자 배열로 본다

            var lengthTarget = document.querySelector(".result1");
            lengthTarget.textContent = text.length;

            //출생년도 형식인지를 검사(4자리 숫자)
            // - JS에서는 정규표현식 객체를 슬래시로 감싸서 생성
            var regex = /^[0-9]{4}$/;
            var isValid = regex.test(text);
            //console.log(isValid);

            var regexTarget = document.querySelector(".result2");
            if(isValid) {
                regexTarget.textContent = "오예!";
            }
            else {
                regexTarget.textContent = "잘못된 연도 형식입니다";
            }

        }

    </script>

     (+) .length를 활용하여 길이를 출력한다

     (+) 정규표현식에서는 객체를 슬래시(/)로 감싸서 생성한다 

     (+) 정규표현식과 일치하는지 테스트는 test() 메소드를 사용한다. 


[ 전체 코드 ]

<!DOCTYPE html>
<html lang="ko">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Javascript 예제</title>

    <!-- 구글 폰트 -->
    <link rel="preconnect" href="https://fonts.googleapis.com">
    <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
    <link href="https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@100..900&display=swap" rel="stylesheet">
     
    <!-- 내가 구현할 스타일 -->
    <link rel="stylesheet" type="text/css" href="../css/commons.css">
    <link rel="stylesheet" type="text/css" href="../css/test.css">
    
    <!-- font awesome 아이콘 CDN -->
    <link rel="stylesheet" type="text/css" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.1/css/all.min.css">
    
    <style>

    </style>

    <!-- javascript를 의도적으로 head 자리에 배치해서 가장 먼저 실행되도록 구현 -->
    <script type="text/javascript">
        
        function checkText(){
            var inputTarget = document.querySelector(".temp");
            var text = inputTarget.value;
            //console.log(text);
            //console.log(text.length);//자바스크립트는 문자열을 문자 배열로 본다

            var lengthTarget = document.querySelector(".result1");
            lengthTarget.textContent = text.length;

            //출생년도 형식인지를 검사(4자리 숫자)
            // - JS에서는 정규표현식 객체를 슬래시로 감싸서 생성
            var regex = /^[0-9]{4}$/;
            var isValid = regex.test(text);
            //console.log(isValid);

            var regexTarget = document.querySelector(".result2");
            if(isValid) {
                regexTarget.textContent = "오예!";
            }
            else {
                regexTarget.textContent = "잘못된 연도 형식입니다";
            }

        }

    </script>
</head>
<body>

    <div class="container w-500">
        <div class="cell center">
            <h1>입력 이벤트</h1>
        </div>
        <div class="cell">
            <input type="text" class="temp tool w-100" oninput="checkText();">
        </div>
        <div class="cell result1"></div>
        <div class="cell result2"></div>
    </div>

</body>
</html>

 

 

 

개인 공부 기록용입니다:)

728x90