실무 JavaScript 개발 시 자주 쓰이는 유용한 커스텀 메서드 및 유틸리티 함수(문자열 포맷팅, 만 나이 계산, 이메일 정규식 검결, 특수문자 제거 등) 모음입니다.
1. 문자열 포맷팅 및 태그 치환
// note: 문자열 타입에서 쓸 수 있도록 format() 함수 확장
String.prototype.format = function(){
var num = parseFloat(this);
if( isNaN(num) ) return "0";
return num.format();
};
// note: html 태그 열고 닫기 replace
function tag_replace(str, br, tag){
if (str){
var a = str.split(br),
etag = tag.replace('<', '</');
return a[0] + ' ' + tag + a[1] + etag;
}
return;
}
2. 만 나이 계산 및 이메일 형식 체크
// note: 만 나이 계산
function get_age(date){
var d = date.split("-");
const today = new Date();
const birthDate = new Date(d[0], d[1] - 1, d[2]);
var age = today.getFullYear()
- birthDate.getFullYear()
+ 1;
return parseInt(age);
}
// note: 이메일 형식 체크
function verify_email(email) {
var format = /([\w-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$/;
return (email.search(format) != -1) ? true : false; // 올바른 포맷 형식
}
3. 공백 및 특수문자 정제 (정규식)
// note: 정규식 공백 제거
function remove_blank(str) {
return str.replace(/(\s*)/g, "");
}
// note: 정규식 한글+숫자,영문 남기고 모든 특수문자 제거
function replace_trim(str) {
return str.replace(/[^(가-힣ㄱ-ㅎㅏ-ㅣa-zA-Z0-9)]/gi, "");
}
// note: 공백 제거 + 특수문자 제거 종합 처리
function replace_init(str) {
return replace_trim(remove_blank(str));
}