Notice
Recent Posts
Recent Comments
Link
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
Tags
more
Archives
Today
Total
관리 메뉴

Hjin Blog

javascript기초(정규식 문법) 본문

Javascript

javascript기초(정규식 문법)

H진 2022. 11. 3. 18:23
'문자'.includes('찾을단어')

.includes()는 문자에 찾을 단어가 들어있는지 검사해주는 기능이다 있다면 true/ 없으면 false를 남겨준다.

하지만 더 자세히 검사를 하기 위해서는 .includes()만으로 검사하기 어렵다.

 

그래서 정규표현식(regular expression)을 사용하는데

어떤 문자에 '???' 라는 단어가 있는지 검사해보기 위해 사용한다.

 

/abc/

정규식 표현방법

 

/abc/.test('abcdef')

/정규식/.test(검색해볼문자) 검사를 통해 있다면 true / 없다면 false를 남겨준다.

 


정규식 표현방법 알아보기

 

/[a-z]/.test('abcd') // true
/[a-zA-Z]/.test('가나다라') // false

// 1. a부터 z까지 아무문자 하나를 찾는다.
// 2. 아무알파벳 하나를 찾는다.

/\S/.test('abcd')  //true

// 특수문자 포함 아무문자 1개를 찾는다.

/^a/.test('abcd') // true
/e$/.test('abcde') // true

// 1. a로 시작하는지 검사
// 2. e로 끝나는지 검사

/(e|f)/.test('abcde') //true

// or기호 e 또는 f중 아무거나 한문자가 있는지 검사

 

+

/a+/. 처럼 '+'기호를 붙여주면 뒤에 오는 글자들도 a와 일치하는지 반복해서 찾는다.

/S+t/ = 모든 문자 여러개 다음 t라는 글자가 있는지 검사해준다.(aaaat,bbbt 같은것을 찾아준다.)

 

/\S+@\S+\.\S+/ 

이메일 정규식 예시이다.

여기서 \.기호의 이유는 마침표는 정규식에서 특수한 문법이기 때문에 마침표 문법을 쓰는것이 아닌

마침표를 찾아달라는 의미로 쓰기 위해서는 백슬래시(\)를 앞에 붙혀 사용해야한다.

 

간단한 예제)

 

        $('form').on('submit',function(e){
          var emailTest = document.getElementById('email').value;
          var pwTest = document.getElementById('PW').value;

          if(/\S+@\S+\.\S+/.test(emailTest) === false){
            alert('이메일형식이아님');
            e.preventDefault();
            // 이메일 형식 검사
          }
          if(/[A-Z]/.test(pwTest) === true){
            alert('대문자가들어가있음');
            e.preventDefault();
            // 입력값에 대문자가 존재하는지 검사
          }
        });

 

위처럼 입력시 해당문자가 형식에 맞는지, 또는 존재하는지 검사하는 코드를 만들수있다.