티스토리 뷰
Lang/JavaScript
javascript String prototype 기본 예제(replace, null check, validation etc..)
호형 2020. 6. 15. 10:33자주 쓰이는 String prototype 에 대한 정리 (긁어모으기!)
/**
* 문자열 replaceAll
*/
String.prototype.replaceAll = function (target, replacement) {
return this.split(target).join(replacement);
};
/**
* trim (공백 제거)
*/
String.prototype.trim = function() {
return this.replace(/^\s+|\s+$/g, "");
};
/**
* ltrim
*/
String.prototype.ltrim = function() {
return this.replace(/^\s+/, "");
};
/**
* rtrim
*/
String.prototype.rtrim = function() {
return this.replace(/\s+$/, "");
};
/**
* lpadding (왼쪽에 padding 문자열로 채우기)
*/
String.prototype.lpad = function(maxLength, fillChar) {
var srcStr = this.substr(0, maxLength);
var cnt = 0;
for (var inx = srcStr.length; inx < maxLength; inx++) {
srcStr = fillChar.charAt(cnt) + srcStr;
cnt++;
cnt = (cnt == fillChar.length) ? 0 : cnt;
}
return srcStr;
};
/**
* rpadding
*/
String.prototype.rpad = function(maxLength, fillChar) {
var srcStr = this.substr(0, maxLength);
var cnt = 0;
for (var inx = srcStr.length; inx < maxLength; inx++) {
srcStr = srcStr + fillChar.charAt(cnt);
cnt++;
cnt = (cnt == fillChar.length) ? 0 : cnt;
}
return srcStr;
};
/**
* null check
*/
String.prototype.isNull = function(pattern) {
if (this == undefined || this == null || this == '')
return true;
return false;
};
/**
* Alpha check
*/
String.prototype.isAlpha = function() {
var str = this.trim();
if (str.isNull())
return true;
return (/^[a-zA-Z]+$/).test(str);
};
/**
* Alpha check (공백 허용)
*/
String.prototype.isAlphaBlank = function() {
var str = this.trim();
if (str.isNull())
return true;
return (/^[\sa-zA-Z]+$/).test(str);
};
/**
* Alpha/Numeric Check
*/
String.prototype.isAlphaNum = function() {
var str = this.trim();
if (str.isNull())
return true;
return (/^[0-9a-zA-Z]+$/).test(str);
};
/**
* Numeric Check
*/
String.prototype.num = function() {
return (this.trim().match(/^[0-9]+$/)) ? true : false;
}
/**
* 한글 Check
*/
String.prototype.kor = function() {
return (this.trim().match(/^[가-힣]+$/)) ? true : false;
}
/**
* getLength
*/
String.prototype.getLength = function() {
return this.length;
}
/**
* getByte
*/
String.prototype.getByte = function(utf8Yn) {
var str = this.trim();
if(arguments[0] == null){
utf8Yn = true;
}
var utf8Add = (utf8Yn == true) ? 2 : 1;
var len = 0;
for (var i = 0; i < str.length; i++, len++) {
if (str.charCodeAt(i) < 0 || str.charCodeAt(i) > 127)
len += utf8Add; // add Extra 2 when charSet is UTF-8
}
return len;
};
/**
* email check
*/
String.prototype.isEmail = function() {
var str = this.trim();
if (str.isNull())
return true;
return (/\w+([-+.]\w+)*@\w+([-.]\w+)*\.[a-zA-Z]{2,4}$/).test(str);
};
/**
* mobile Check (000-0000-0000)
*/
String.prototype.mobile = function() {
var num = this.trim().onlyNum();
num = num.substring(0, 3) + "-" + num.substring(3, num.length - 4) + "-" + num.substring(num.length - 4, num.length);
num = num.trim().match(/^01[016789]{1}-[1-9]{1}[0-9]{2,3}-[0-9]{4}$/);
return (num) ? true : false;
}
/**
* 주민번호 체크 (000000-0000000)
*/
String.prototype.jumin = function() {
var num = this.trim().onlyNum();
if(num.length == 13) {
num = num.substring(0, 6) + "-" + num.substring(6, 13);
} else {
return false;
}
num = num.match(/^([0-9]{6})-?([0-9]{7})$/);
if(!num) return false;
var num1 = RegExp.$1;
var num2 = RegExp.$2;
if(!num2.substring(0, 1).match(/^[1-4]{1}$/)) return false;
num = num1 + num2;
var sum = 0;
var last = num.charCodeAt(12) - 0x30;
var bases = "234567892345";
for (i=0; i<12; i++) {
sum += (num.charCodeAt(i) - 0x30) * (bases.charCodeAt(i) - 0x30);
}
var mod = sum % 11;
return ((11 - mod) % 10 == last) ? true : false;
}
'Lang > JavaScript' 카테고리의 다른 글
Javascript 로 현재 브라우저 버전 확인하기 (0) | 2021.10.22 |
---|---|
XSS JavaScript 방어 예제 (0) | 2021.07.29 |
JavaScript를 JavaDoc처럼 생성해주는 JSDoc 설치 및 사용방법 (0) | 2021.01.27 |
Cross Browsing Issue - Radio Button 'checked' not working (0) | 2020.06.03 |
Cross Browsing Issue - IE에서 popup 띄울때 scrollbar 생기지 않는 문제 (0) | 2020.05.21 |
댓글