목차
- 특정 단어로 시작하는지 검사
- 특정 단어로 끝나는지 검사
- 숫자로만 이루어진 문자열인지 검사
- 하나 이상의 공백으로 시작하는지 검사
- 아이디로 사용 가능한지 검사
- 메일 주소 형식에 맞는지 검사
- 핸드폰 번호 형식 검사
- 특수 문자 포함 여부 검사
- 레퍼런스
특정 단어로 시작하는지 검사
- ‘http://’ or ‘https://’
1
2
3
const url = "https://";
/^https?:\.\./.test(url); // true
/^(http|https):\/\//.test(url); // true
특정 단어로 끝나는지 검사
- ‘html’ 로 끝나는지 검사
1
2
const target = "index.html";
/html$/.test(fileName); // ->true
숫자로만 이루어진 문자열인지 검사
1
2
const target = "12345";
/^\d+$/.teset(target); // -> tru자
하나 이상의 공백으로 시작하는지 검사
- [\s] == 여러가지 공백문자등을 의미한다
- [\s] == [\t\r\n\v\f]
1
2
const target = " Hi!";
/^[\s]+/.test(target); // -> true
아이디로 사용 가능한지 검사
1
2
3
const id = "abc123";
// 알파벳 대소문자 또는 숫자로 시작하고 끝나며 4~10자리인지 검사
/^[A-Za-z0-9]{4,10}$/.test(id); // true
메일 주소 형식에 맞는지 검사
1
2
const email = 'sdfjd@xxxx.dfd'
/^[0-9a-zA-Z]([-_\.]?[0-9a-zA-Z])*@[0-9a-zA-Z]([-_\.]?[0-9a-zA-Z])*\.[a-zA-Z]{2,3}$/.test(email);
1
2
3
/(?:[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])+)\])/.test(
email
);
핸드폰 번호 형식 검사
1
2
3
const phone = "010-1234-5678";
/^\d{3}-\d{3,4}-\d{4}$/.test(phone);
특수 문자 포함 여부 검사
(/[^A-Za-z0-9]/gi).test(target)
(/[\{\}\[\]\/?.,;:|\)*~`!^\-_+<>@\#$%&\\\=\(\'\"]/gi).test(target);
- 특수문자 제거 :
target.replace(/[^A-Za-z0-9]/gi, '')
;
레퍼런스
- 모던 자바스크립트 Deep Dive 591p
- mozilla-Regular_Expressions