특정한 규칙을 가진 문자열의 집합을 표현하는 데 사용하는 형식 언어
^
: 문자열의 시작, $
: 문자열의 끝+
: 조건의 문자가 하나 이상이면 통과/^[a-zA-Z0-9_+-]+$/;
i
를 적어두면 알아서 대소문자 구분해준다./^[a-z0-9]+$/i
g
: Global 의 표현하며 대상 문자열내에 모든 패턴들을 검색/^[a-z0-9_-]{2,10}$/
- 19자리 숫자와 "-": /^[0-9-]{19}$/
- 4-4-4-4 체크: /^[0-9]{4}[-\s.]?[0-9]{4}[-\s.]?[0-9]{4}[-\s.]?[0-9]{4}$/
/[a-zA-Z0-9]/
3자리-3~4자리-4자리(사이에 1자 아무거나 가능)):
/^[(]?[0-9]{3}[)]?[-\s.]?[0-9]{3,4}[-\s.]?[0-9]{4}$/3자리-3~4자리-4자리(사이에 "-" 고정): /^\d{3}-\d{3,4}-\d{4}$/
휴대폰&전화번호: /(^02.{0}|^01.{1}|[0-9]{3})([0-9]+)([0-9]{4})/
휴대폰번호: /^01(?:0|1|[6-9])[.-]?(\d{3}|\d{4})[.-]?(\d{4})$/
/^([a-z0-9_.-]+)@([\da-z.-]+).([a-z.]{2,6})$/
최소 8자 이상으로 영문자 대문자, 영문자 소문자, 숫자, 특수문자가 각각 최소 1개 이상:
/^(?=.?[A-Z])(?=.?[a-z])(?=.?[0-9])(?=.?[#?!@$ %^&*-]).{8,}$/최소 8자 이상으로 숫자, 특수문자가 각각 최소 1개이상:
/^(?=.?[0-9])(?=.?[#?!@$ %^&*-]).{8,}$/
한글포함 특수문자와 공백: /[^?a-zA-Z0-9/]/
한글제외 특수문자와 공백: /[^-가-?a-zA-Z0-9/ ]/
// nickname 형식(숫자,대소문자 조합의 3자리 이상)
const nicknameCheck = /^[A-Za-z0-9]{3,}$/;
if (!nicknameCheck.test(nickname)) {
return res
.status(412)
.json({ errorMessage: "nickname 형식이 올바르지 않습니다." });
}
// password 형식(nickname이 포함된 password인지 아닌지 판별)
if (password.match(nickname)) {
return res
.status(412)
.json({ errorMessage: "password에 nickname이 포함되어 있습니다." });
}