JavaScript Day5

ITselfhiam
|2023. 10. 24. 08:38

노드(node)

HTML DOM은 노드라고 불리는 계층적 단위에 정보를 저장


노드 종류

- 문서 노드 : 문서 전체를 나타내는 노드
- 요소 노드 : HTML 모든 요소는 요소노드이며, 속성노드를 가질 수 있음
- 속성 노드 : HTML 모든 속성은 속성노드이며, 요소노드에 관한 정보를 가지고 있음
- 텍스트 노드 : HTML 모든 텍스트는 텍스트노드
- 주석 노드 : HTML 모든 주석은 주석노드

 

노드의 관계

parentNode : 부모 노드
children : 자식 노드
childNodes : 자식 노드 리스트
firstChild : 첫번째 자식 노드
firstElementChild : 첫번째 자식 요소 노드
lastChild : 마지막 자식 노드
nextSibling : 다음 형제 노드
previousSibling : 이전 형제 노드

 

노드 메서드

1. 노드 추가

appendChild() : 새로운 노드를 해당 노드의 자식 노드 리스트 맨 마지막에 추가
insertBefore() : 새로운 노드를 특정 자식 노드 바로 앞에 추가
insertData() : 새로운 노드를 텍스트 데이터로 추가

 

2. 노드 생성

createElement() : 새로운 요소 노드를 만듦
createAttribute() : 새로운 속성 노드를 만듦
createTextNode() : 새로운 텍스트 노드를 만듦


3. 노드 제거

removeChild() : 자식 노드 리스트에서 특정 자식 노드를 제거. 노드가 제거되면 해당 노드를 반환. 노드가 제거될 때 노드의 자식들도 다 같이 제거됨.
removeAttribute() : 특정 속성 노드를 제거

 

4. 노드 복제

cloneNode() : 기존의 존재하는 노드와 동일한 새로운 노드를 생성하여 반환

 

정규 표현식(Regular Expression: Regex)

문자열에서 특정 문자 조합을 찾기 위한 패턴

    <input type='text' id='userid' name='userid'>
    4자 이상, 20자 이하로 체크
    특수문자 들어갈 수 없음
    한글 들어갈 수 없음


정규 표현식 표기
    / 정규 표현식 패턴 /



정규 표현식 패턴
https://coding-yesung.tistory.com/131 참고

 

아이디 패턴 만들기

- 영문 대문자 또는 소문자, 길이는 4자이상 20자이하로 입력 가능
    /^[A-Za-z]{4,20}/


이름 패턴 만들기

- 한글만 사용
    /^[가-힣]+$/

 

휴대폰 번호 패턴 만들기

- 010-111-1111 또는 010-1111-1111
    /^\d{3}-\d{3,4}-\d{4}$/


이메일 패턴 만들기

- 영문 대문자 또는 소문자, 숫자로 시작
- @, .이 포함
    /^[A-Za-z0-9\-\.]+@[A-Za-z0-9\-\.]+\.+[A-Za-z]+$/

 

정규표현식 적용 함수

test() : 정규표현식의 대입한 문자열이 패턴이 적합하면 true, 아니면 false를 리턴함

※조심할것! test()입니다. 종종 오타로 text()로 작성하시면 실행이 안됩니다.

'Study > JavaScript' 카테고리의 다른 글

JavaScript Day7  (0) 2023.10.25
JavaScript Day6  (0) 2023.10.25
JavaScript DAY4  (0) 2023.10.22
JavaScript DAY3  (0) 2023.10.22
JavaScript DAY2  (0) 2023.10.21