09/28 Javascript 정규표현식2

yookyungmin·2022년 9월 28일
0
post-thumbnail

test

  • 정규표현식 형 변수에서 사용할수 있는 함수로 정규표현식에 일치하는 데이터 검색 성공시
    true 반환 실패시 false 반환
	 let str = "안녕하세요. 저는 Jack 입니다.";
    let regex = /Jack/i; //regex 에 정규표현식 주소가 들어 있다.

        let result = regex.test(str);

        console.log(result); // F12 관리자 모드 콘솔 출력

exec

  • 문장 추출을 위해선 exec 사용, 검색이 되면 배열로 리턴, 찾을 수 없으면 null 값처리

let result = regx.exec(str);
let result1;
while((result1 = regx.exec(str))!=null){
//console.log(result1[1]);
console.log(RegExp.$1);
}

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <input type="text" id="phone" placeholder="핸드폰 번호를 입력하세요">
    <button id = "check"> 검증 </button>
    
    <fieldset>
        <legend>검증결과
        </legend>
        <div id="result"></div>
    </fieldset>

        
   <script>
    //정규표현식엔 포인터가 있다 포인터가 한글자씩 이동하면서 맞는걸 찾아낸다, 
    // 글로벌 옵션을 주지않으면 찾는 순간 긑인데 글로벌 옵션은 포인터가 더 찾아내려고 한다.
    
    //전화번호 유효성 검사 
            let number = document.getElementById("phone");
            let check1 = document.getElementById("check");
            let result1 = document.getElementById("result");

          //let regx = /^01[016789]-?[0-9]{4}-?[0-9]{4}$/g  
          //정규식 바깥에 뺴두면 포인터가 앞으로 나아가려는 성질때문에 맞습니다 아닙니다 반복
      
       
            check1.onclick = function(){
               let regx = /^01[016789]-?[0-9]{4}-?[0-9]{4}$/g //
                  number1 = number.value;
                let resultreg = regx.test(number1);
            
                    
              
                if(resultreg){
           
                    result1.innerHTML="핸드폰번호가 맞습니다"
                }else{
                   result1.innerHTML="핸드폰번호 형식이 아닙니다";
                }
                    console.log(resultreg);
            }

    </script>
    
</body>
</html>

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>

    <style>
        h1{
            color: red;
        }

    </style>
</head>
<body>
        <input type= "text" id = "ID" placeholder="id를 입력하세요"><button  id= "check">검증</button>

        <h1 style="color: black;">ID 조건</h1>
        <h1 >1.첫글자는 알파벳 대문자만 가능</h1>
        <h1>2. 나머지는 알파벳 소문자 숫자 또는 _만 가능</h1>
        <h1>3. 최소 7자리에서 13자리까지만 허용</h1>
        <fieldset>
            <legend>검증결과
            </legend>
            <div id="result"></div>
        </fieldset>


        <script>

            let check = document.getElementById("check");
            
            let result = document.getElementById("result");

            check.addEventListener("click",function(){
                let ID=document.getElementById("ID").value

                let regx = /^[A-Z][a-z0-9_]{6,12}$/g
                
                let resultregx = regx.test(ID);

                if(resultregx){
                        result.innerHTML= "사용 가능한 ID입니다"

                }else {
                        result.innerHTML = "사용불가능한 ID입니다"
                }

            })
        
        </script>
    </body>
</html>

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>

   
    
    <script>
        let str = `<내용생략>`;


            let regex = /(img.a.tr.+?lm=1").+?title="(.+?)".+?rechts hauptlink">(€.+?)</gs
				document.write("<table border=1;>")
				document.write("<tr>");
				document.write("<th>사진</th>");
				document.write("<th>이름</th>");
				document.write("<th>이적료</th");	
				document.write("</tr>")

				let result;
				    while ((result = regex.exec(str)) != null) {
						document.write("<tr>")
						document.write("<td>")
						document.write("<img src=\"https://" + result[1] + ">")
						document.write("</td>")
						document.write("<td>")
						document.write(result[2])
						
						document.write("</td>")
						document.write("<td>")
						document.write(result[3])
						document.write("</td>")
						document.write("</tr>")
							
				}
				document.write("</table>")
		


    </script>
</body>
</html>

0개의 댓글