프로젝트 한 번당 한 번 이상은 사용하게 되는 느낌의 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);
//"안녕하세요"
이후 찾게 된 정규식 모둠 사이트
검색 후 필요한 내용에 맞춰 사용하면 된다.
'Programming > Javascript' 카테고리의 다른 글
[Javascript/React] 이벤트 버블링 제거하기 / 해당 영역 클릭시 이벤트 방지 / Event Bubbling (0) | 2023.03.09 |
---|---|
[Javascript] 클릭 시 url 페이지 띄우기(새 창, 새 탭) (0) | 2022.11.07 |
[Javascript] Cookie, Sessionstorage, Localstorage 내용 정리 및 사용법 (0) | 2022.09.14 |
[Javascript] Scroll API, 스크롤 현재 위치, 디바이스 세로 사이즈 찾기 (0) | 2022.05.23 |