[JavaScript] 자바스크립트 정규표현식(regular expression)

💫 정규표현식 (regular expression)

  • 문자를 검사하고 싶을 때 사용하는 식
/abc/.test('abcdef') //true

abcdef라는 문자에 abc라는 단어가 있는지 검사

/[a-d]/.test('aefg')  //true
/[가-다]/.test('다라마바')  //true

[]기호로 문자 범위 지정

[a-z]a부터 z까지 아무문자 하나를 의미함.

/[a-zA-Z]/.test('반가워요')  //false
/[a-zA-Z]/.test('반가워요a') //true
/[ㄱ-ㅎ가-힣ㅏ-ㅣ]/.test('반가워요')  //true

[a-zA-Z] : 아무 알파벳 하나

[ㄱ-ㅎ가-힣ㅏ-ㅣ] : 아무 한글 하나

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

\S : 특수문자 포함 아무 문자 1개

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

^a : a로 시작하는지 검사

e$ : e로 끝나는지 검사

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

| : or 기호, e 또는 f중 아무거나 한 문자가 있나 검사

정규식에서 괄호 사용 가능

/a+/

+ : 뒤에 오는 글자들도 a와 일치하면 반복해서 쭉 찾아달라는 뜻

/a/ : a를 다 찾으라는게 아니라 a 한개를 찾으라는 뜻

/\S+t/

\S+t : 모든 문자 여러개 다음에 t라는 글자가 있냐를 검사

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

\S+@\S+\.\S+ : 이메일 정규식

\. : 마침표는 정규식에서 특수한 문법이기 때문에 마침표 문법을 쓰는게 아니라 진짜 마침표를 찾아달라라는 의미로 쓰려면 백슬래시를 앞에 붙여야함.

💫 폼 전송 시 이메일 형식 검증

var 입력한값 = idInput.value;
if ( !/\S+@\S+\.\S+/.test(입력한값) ){
    alert('이메일 형식이 아닙니다.')
    e.preventDefault();
}

By Dozzing

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다