49일차 내용 정리

채공부·2025년 7월 31일

JavaScript

정규 표현식

대소문자를 가린다

  • string type 의 source
 const source = "Hello, World!"
  • 정규표현식 객체 (object type)
const reg1 = /hello/;
  • 정규표현식 객체 (object type)
const reg2 = new RegExp("Hello");

➜ 이미 만들어진 정규 표현식 자체가 문자열로 제공될 때 사용

활용 범위
1. 영문자 소문자로만 작성되었는가?
2. 숫자로만 작성되었는가?
3. 숫자가 포함되어 있는가?
4. 특수문자가 포함되어 있는가?
5. 한글로만 작성되어 있는가?
6. 이메일 형식과 일치하는가?
7. 전화번호 형식과 일치하는가?

  • 입력 텍스트 박스 & 결과 확인
<input type="text" id="inputText" placeholder="검증할 문자열 입력">
<p id="result"></p>
  • 이벤트 리스너 등록
document.querySelector("#inputText").addEventListener("input", (e)=>{
	// 입력한 문자열
	const str = e.target.value;
	// 정규표현식 매칭여부 알아내기
	const isMatch = reg1.test(str);
	// 결과를 화면에 출력
	document.querySelector("#result").innerHTML = isMatch;  
});

정규 표현식 정리

^ : 시작
$ : 끝

  • 문자 설정
?설명
.아무거나 한 글자
[]대괄호 안에 명시한 한 글자
[a-z]영문 소문자 한 글자
[a=zA-Z]영문 대소문자 중에 한글자
[a-zA-Z0-9]특수문자를 제외한 한 글자
[가-힇]한글 한 글자
  • 수량자 = 어떤 문자 혹은 단어가 반복되는 횟수 설정
수량자설명
*0번 이상 반복 {0, }
+1번 이상 반복 {1, }
?안 하거나 최대 한 번 반복 {0,1}

➜ {최소,최대}

  • 혼합
.+ : 아무 문자나 1번 이상 와야 한다
[a]+ : a가 1번 이상 와야 한다
[a-z]+ : 영문자 소문자가 한 번 이상 와야 한다
[0-9]+ : 숫자가 한 번 이상 와야 한다

(010|017)+

사진 데이터

  • 테이블 & 시퀀스 생성
CREATE TABLE gallery(
	num NUMBER PRIMARY KEY,
	title VARCHAR2(100) NOT NULL,
	writer VARCHAR2(20) NOT NULL,
	content CLOB,
	createdAt DATE DEFAULT SYSDATE
);
-- gallery 테이블은 board_seq 를 공유
CREATE TABLE gallery_image(
	num NUMBER PRIMARY KEY,
	gallery_num NUMBER REFERENCES gallery(num),
	saveFileName VARCHAR2(100) NOT NULL,
	createdAt DATE DEFAULT SYSDATE
);

CREATE SEQUENCE gallery_image_seq;;
  • navbar 에 코드 추가
<li class="nav-item">
	<a class="nav-link <%=thisPage.equals("gallery") ? "active":""%>" 
		href="${pageContext.request.contextPath }/gallery/list.jsp">Gallery/a>
</li>
  • SecurityFilter 에 화이트 리스트 추가
"/gallery/list.jsp"
  • webapp 폴더 안에 gallery 폴더 생성 후 list.jsp 생성
<jsp:include page="/WEB-INF/include/resource.jsp"></jsp:include>

<jsp:include page="/WEB-INF/include/navbar.jsp">
	<jsp:param value="gallery" name="thisPage"/>
</jsp:include>
<div class="container">
	<h1>Gallery 목록</h1>
</div>
profile
학원 공부 내용 정리

0개의 댓글