RegExp 31

자주 사용하는 정규표현식

특정 단어로 시작하는지 검사

'http://' 또는 'https://'로 시작하는지 검사

const url = 'https://naver.com';
/^https?:\/\//.test(url);
const url = 'https://naver.com';
/^(http|https):\/\//.test(url);

특정 단어로 끝나는지 검사

검색 대상 문자열이 'html'로 끝나는지 검사

const fileName = 'index.html';
/html$/.test(fileName);

숫자로만 이루어진 문자열인지 검사

검색 대상 문자열이 숫자로만 이루어진 문자열인지 검사

const target = '12345';
/^\d+$/.test(target);

하나 이상의 공백으로 시작하는지 검사

검색 대상 문자열이 하나 이상의 공백으로 시작하는지 검사

const target = ' Hi';
/^[\s]+/.test(target);

아이디로 사용 가능한지 검사

검색 대상 문자열이 알파벳 대소문자 또는 숫자로 시작하고 끝나며 4~10 자리인지 검사

const id = 'abc1234';
/^[A-Za-z0-9]{4,10}$/.test(id);

메일 주소 형식에 맞는지 검사

검색 대상 문자열이 메일 주소 형식에 맞는지 검사

const email = 'test@gmail.com';
/^[0-9a-zA-Z]([-_\.]?[0-9a-zA-Z])*@[0-9a-zA-Z]([-_\.]?[0-9a-zA-Z])*\.[a-zA-Z]{2,3}$/.test(email);

인터넷 메시지 형식 규약인 RFC 5322 에 맞는 정교한 패턴 매칭은 다음과 같다.

/(?:[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*|"(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21\x23-\x5b\x5d-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])*")@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|\[(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?|[a-z0-9-]*[a-z0-9]:(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21-\x5a\x53-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])+)\])/g

General Email Regex (RFC 5322 Official Standard);

핸드폰 번호 형식에 맞는지 검사

검색 대상 문자열이 핸드폰 번호 형식에 맞는지 검사

const cellphone = '010-1234-5678';
/^\d{3}-\d{3,4}-\d{4}$/.test(cellphone);

특수 문자 포함 여부 검사

검색 대상 문자열에 특수 문자가 포함되어 있는지 검사 (특수 문자는 A-Za-z0-9 이외의 문자)

const target = 'abc#1234';
(/[^A-Za-z0-9/gi).test(target);

특수 문자를 제거할 때는 String.prototype.replace 메서드를 사용한다.

const target = 'abc#1234';
target.replace(/[^A-Za-z0-9]/gi, ''); // abc1234

https://regexr.com/