본문 바로가기

Programming/Javascript

[Javascript] 정규식 모둠세트

프로젝트 한 번당 한 번 이상은 사용하게 되는 느낌의 Javascript 정규식입니다.

 

천 단위 콤마, 3자리 수 콤마 (Comma separator)

// Comma separator(,) 천 단위 콤마, 3자리 수 콤마
function numberWithCommas(x) {
  return x.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',');
}

 

이메일 유효성 체크 (Email Validation)

// Email Validation
function CheckEmail(str) {
  var reg_email = /^([0-9a-zA-Z_\.-]+)@([0-9a-zA-Z_-]+)(\.[0-9a-zA-Z_-]+){1,2}$/;
  if (!reg_email.test(str)) {
    return false;
  } else {
    return true;
  }
}

 

패스워드 유효성 체크 (Password Validation)

// Password Validation
function chkPW(password) {

  // 대문자, 소문자, 숫자, 특수문자, 8자리 이상 check
  var reg = /^(?=.*?[A-Z])(?=.*?[a-z])(?=.*?[0-9])(?=.*?[#?!@$%^&*-]).{8,}$/;
  
  // Uppercase 대문자
  var regHigh = /^(?=.*?[A-Z])/;
  // Rowercase 소문자
  var regRow = /^(?=.*?[a-z])/;
  // Number 숫자
  var regNumber = /^(?=.*?[0-9])/;
  // Characters 특수문자
  var regCharacters = /^(?=.*?[~!@#$%^&*()_+|<>?:{}])/;
  
  var pw = password;
  return reg.test(pw);
}

 

년-월-일 (yyyy-mm-dd, Year-Month-date)

// Year-Month-Date
function formatDate(date) {
  var d = new Date(date),
    month = '' + (d.getMonth() + 1),
    day = '' + d.getDate(),
    year = d.getFullYear();

  if (month.length < 2) month = '0' + month;
  if (day.length < 2) day = '0' + day;

  return [year, month, day].join('-');
}

 

왼쪽 0 제거 (Remove leading Zero)

let num = "0920426";
let replaceNum = number.replace(/(^0+)/, "");
console.log(replaceNum);
// 920426로 출력됨

 

 

Number formatter

// number format 1000 -> 1K / 1000000 -> 1M
    const numFormatter = (value) => {
        if(value > 999 && value < 1000000){
            return (value/1000).toFixed(1) + 'K';
        }else if(value > 1000000){
            return (value/1000000).toFixed(1) + 'M';
        }else if(value < 900){
            return value;
        }
    }

 

 

 

모든 html 태그 tag 괄호+괄호안의 내용 지우기 (닫힘태그 없는 것도 포함 ex.img)

const a = "<div><p>안녕하세요</p></div>";

const replaceA = a.replace(/<[^>]*>?/g,"");

console.log(replaceA);
//"안녕하세요"

 

 

 

 

이후 찾게 된 정규식 모둠 사이트 

검색 후 필요한 내용에 맞춰 사용하면 된다.

 

Regular Expression Library

   Displaying page of pages; Items to Title Test Details ZIP+4 - XXXXX-XXXX Expression ^\d{5}-\d{4}$ Description Numeric and hyphen 5+4 ZIP code match for ZIP+4. Matches 22222-3333 | 34545-2367 | 56334-2343 Non-Matches 123456789 | A3B 4C5 | 55335 Author

regexlib.com