JavaScript 에서는 다음과 같은 String 메소드와 함께 쓸 수 있다.
JavaScript 에서는 정규식은 객체에 해당하며, RegExp 의 test()메소드를 사용할 수 있다.
또한
/ab+c/i
new RegExp(/ab+c/, 'i') // 리터럴
new RegExp('ab+c', 'i') // 생성자
RegExp 의 리터럴 표기법과 생성자 표기법이 있다. 리터럴 표기법은 정규식이 프로그램 상 변하지 않을 때, 즉 정적일 때 사용하고 생성자 표기법은 정규식이 동적으로 변할 때 사용한다!
정규식 | 설명 |
---|---|
^ | 정규식의 첫 번째 그룹 및 문자열 탐색의 의미 |
$ | 정규식의 마지막 그룹 및 문자열 탐색의 의미 |
. | 공백을 포함한 전체 문자 |
. | 특수문자 . |
\s | 공백 |
\S | 공백을 제외한 모든 문자 |
() | 그룹핑 |
(?=) | 캡쳐링을 스킵한 그룹핑 |
* | 뒤에 문자가 있어도 되고 없어도 됨 |
{2} | 앞에 있는 정규식에 매치된 문자열이 2개 |
{2,} | 2개 그 이상 |
{2,6} | 2~6개 |
[0-9] | 0~9에 해당하는 숫자 |
[a-z] | a~z에 해당하는 문자 |
[A-Z] | A~Z에 해당하는 문자 |
[^0-9] | 만약 대괄호 안에 ^ 문자가 있다면 부정을 의미함. (!) |
(한 개 이상의 !@~.의 특수문자, 한 개 이상의 영어 대소문자, 한 개 이상의 숫자를 포함해야 하며 비밀번호 길이는 8~20으로 제한함)
let reg = /(?=.*[a-zA-Z])(?=.*[!@~])(?=.*[0-9]).{8,20}$/