본문 바로가기

STUDY/JavaScript

JS | 자주쓰는 정규식 (콤마찍기, 숫자만 입력받기 등) / 함수

세 자리 콤마찍기

+ 그냥 콤마 찍을 땐 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