세 자리 콤마찍기
+ 그냥 콤마 찍을 땐 toLocaleString()이 편하다 이건 input값 계속 변경되게하려고 사용
export const numberWithCommas = (num) => {
return num.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",");
};
콤마 지우기
위에서 찍은 콤마 다 제거해서 저장해야 하니까..
export const deleteCommas = (str) => {
return str.replace(/,/g, "");
};
숫자(정수)만 입력받기
+replace(/(\.*)이 부분에 . 추가하면 소수까지 가넝한
export const onlyNumber = (str) => {
return str.replace(/[^0-9.]/g, "").replace(/(\.*)\./g, "$1");
};
요일 구하기
export const getDayOfTheWeek = (str) => {
const date = new Date(str);
const dayOfWeek = date.getDay();
switch (dayOfWeek) {
case 0:
return "일";
case 1:
return "월";
case 2:
return "화";
case 3:
return "수";
case 4:
return "목";
case 5:
return "금";
case 6:
return "토";
}
};
Date형식을 String으로
이건 JS에서 JAVA로 넘겨줄 때 날짜값이 변경되어서 만든 함수
export const dateToString = (d) => {
if (d === null || d === "") {
return null;
} else {
let date = new Date(d);
const year = date.getFullYear();
const month = date.getMonth() + 1;
const day = date.getDate();
return `${year}-${month > 9 ? month : `0${month}`}-${
day > 9 ? day : `0${day}`
}`;
}
};
비밀번호 형식 제어
8자리 이상, 영문(소문자/대문자), 숫자, 특수문자 모두 포함
export const checkPasswordRule = (str) => {
const reg = /^(?=.*[a-zA-Z])(?=.*[!@#$%^*+=-])(?=.*[0-9]).{8,15}$/;
if (!reg.test(str)) {
return false;
} else {
return true;
}
};
휴대폰 번호 대시/하이픈 추가
export const phoneWithHyphen = (str) => {
return str === null
? null
: str.replace(/(^02.{0}|^01.{1}|[0-9]{3})([0-9]+)([0-9]{4})/, "$1-$2-$3");
};
휴대폰 번호 입력 체크
(010으로 시작하는지, 자리 수 등)
export const checkPhoneNumber = (str) => {
const check = /^(?:(010\d{4})|(01[1|6|7|8|9]\d{3,4}))(\d{4})$/;
//하이픈 입력 받으려면 /^(?:(010-\d{4})|(01[1|6|7|8|9]-\d{3,4}))-(\d{4})$/
return check.test(str);
};
특수문자 제거
export const deleteSymbols = (str) => {
return str.replace(/[`~!@#$%^&*()_|+\-=?;:'",.<>\{\}\[\]\\\/]/gi, "");
};
앞으로 더 추가 예정..
'STUDY > JavaScript' 카테고리의 다른 글
JS | 슬랙 봇 만들기 (Slack bot | 슬랙 연동 | React) (0) | 2020.12.31 |
---|---|
JS | URLSearchParams (0) | 2020.11.17 |
JS | axios interceptors (0) | 2020.11.04 |
JS | Map (0) | 2020.09.29 |
JS | 자식 노드들 한 번에 지우기 (0) | 2020.07.03 |