정규 표현식 또는 정규식은 문자열에서 특정 문자 조합을 찾기 위한 패턴이다.
자바스크립트의 정규 표현식도 객체이기에 메소드를 사용할 수 있다.
정규 표현식은 주로 문자열 데이터가 있을 때 이 데이터가 현재 페이지에 용도로 사용이 되는지를 확인하는데 유용한 기능이다.
아래는 주로 사용되는 이메일 검증과 핸드폰 번호 검증의 사용법이다.
정규 표현식에는 test
라는 메소드가 존재한다.
이는 정규 표현식에 조건을 주고 true
false
를 판단하다.
이를 이용해 페이지에 용도에 맞게 설정해주면 된다.
// 이메일 검증 정규 표현식
/^\w+@\w+\.\w+$/.test("asd@asd.com") // true
위는 정상적인 이메일 문자열을 검증해주는 정규 표현식이다.
/조건/
- 슬래시를 주게 되면 안에있는 문자열을 검증한다.
\w
- 역슬래시 w
는 문자 w가 아닌 모든 문자 또는 숫자를 가리킨다.
^
- 정규 표현식은 검증하는 문자열에 시작과 끝을 정해야하는데 이는 시작을 의미한다.
$
- 검증하는 문자열에 끝을 의미한다.
+
- 플러스는 검증하는 문자열이나 숫자가 1개 이상임을 의미한다.
?
- 물음표는 문자열이 없거나 1개일때를 의미한다.
*
- 곱하기는 물자열이 없거나 1개이거나 그 이상일때를 의미한다.
.
- 점(dot)은 정규표현식에서 모든것을 의미한다.
\
- 역슬래시는 원래의 의미를 탈피 시켜주기 때문에 \.
이런식으로 사용하게 되면 정규표현식에 점이 아닌 원래 의미인 점을 사용할 수 있게 해준다.
/^\d{3}-\d{3,4}-\d{4}$/.text("010-1234-5678")
위는 정상적인 핸드폰 번호를 검증해주는 정규 표현식이다.
\d
- 역슬래시 d
는 숫자만을 의미한다.
{num}
- 중괄호 안에 숫자를 넣어주게 되면 지정된 숫자 수만큼 들어가게 지정할 수 있다.
{num,num}
- 중괄호 안에 쉼표를 넣어주고 숫자를 지정해주면 앞에 숫자 또는 뒤에 숫자를 의미한다.
이것들 이외에도 많은 정규표현식이 있다.