1/** 2 * 3 * 4 * @author childmild ì¤ëª : stringutil ê´ë ¨ ìë°ì¤í¬ë¦½í¸ ìì¤íì¼ ë§ë ë : 17.04.10 5 * 6 */ 7 8/** 9 * ì ê·ìì ì°ì´ë í¹ì문ì를 ì°¾ìì escape íë¤. 10 * 11 * @return í¹ì문ìê° escapeë 문ìì´ 12 */ 13String.prototype.meta = function() { 14 var str = this; 15 var result = ''; 16 for (var i = 0; i < str.length; i++) { 17 if ((/([\$\(\)\*\+\.\[\]\?\\\^\{\}\|]{1})/).test(str.charAt(i))) { 18 result += str.charAt(i).replace((/([\$\(\)\*\+\.\[\]\?\\\^\{\}\|]{1})/), "\\$1"); 19 } else { 20 result += str.charAt(i); 21 22 } 23 } 24 return result; 25} 26 27/** 28 * ì ê·ìì ì°ì´ë í¹ì문ì를 ì°¾ìì escapeíì¬ ë°ííë¤. 29 * 30 * 31 * @return í¹ì문ìê° escapeë 문ìì´ 32 */ 33String.prototype.remove = function(pattern) { 34 return (pattern == null) ? this : eval("this.replace(/[" + pattern.meta()+ "]/g, \"\")"); 35} 36 37/** 38 * 문ìì´ì´ ëì 문ìì´ê³¼ ëì¼í ê°ì¸ì§ì ì¬ë¶ë¥¼ ë°ííë¤. 39 * 40 * @param tagetStr - 41 * ë¹êµëì 문ìì´ 42 * @return ëì¼ê° ì¬ë¶ 43 */ 44String.prototype.eq = function(tagetStr) { 45 return (tagetStr != null && typeof (tagetStr) != 'undefined' && this == tagetStr); 46} 47 48/** 49 * 문ìì´ì´ ëì 문ìì´ê³¼ ë¤ë¥¸ ê°ì¸ì§ì ì¬ë¶ë¥¼ ë°ííë¤. 50 * 51 * @param tagetStr - 52 * ë¹êµëì 문ìì´ 53 * @return ë¤ë¥¸ê° ì¬ë¶ 54 */ 55String.prototype.neq = function(tagetStr) { 56 return !this.eq(tagetStr); 57} 58 59/** 60 * 문ìì´ì´ ì«ìíì¸ì§ì ì¬ë¶ë¥¼ ë°ííë¤. 61 * 62 * @param exceptChar - 63 * ì¶ê° íì©í 문ì 64 * @return ì«ìíì¬ë¶ 65 */ 66String.prototype.isNum = function(exceptChar) { 67 return (/^[0-9]+$/).test(this.remove(exceptChar)) ? true : false; 68} 69 70/** 71 * 문ìì´ì ì«ìíì¼ë¡ ìºì¤í íë¤. 72 * 73 * @return ìºì¤í ë ì«ì 74 */ 75String.prototype.toNum = function() { 76 if (this.isNum()) { 77 return Number(this); 78 } else { 79 return -1; 80 } 81} 82 83/** 84 * 문ìì´ì 3ì리ë§ë¤ 콤ë§ë¥¼ ì°ì´ì ë°ííë¤. 85 * 86 * @return 콤ë§ê° 첨ê°ë 문ìì´ 87 */ 88String.prototype.money = function() { 89 var num = this.replace(/,/g, ""); 90 while ((/(-?[0-9]+)([0-9]{3})/).test(num)) { 91 num = num.replace((/(-?[0-9]+)([0-9]{3})/), "$1,$2"); 92 } 93 return num; 94} 95 96/** 97 * 문ìì´ì byte 길ì´ë¥¼ ë°ííë¤. 98 * 99 * @return 문ìì´ì byte ê¸¸ì´ 100 */ 101String.prototype.getByte = function() { 102 var cnt = 0; 103 for (var i = 0; i < this.length; i++) { 104 if (this.charCodeAt(i) > 127) { 105 cnt += 2; 106 } else { 107 cnt++; 108 } 109 } 110 return cnt; 111} 112 113/** 114 * 문ìì´ì´ ì§ì í ìµìê¸¸ì´ ì´ìì¸ì§ì ì¬ë¶ë¥¼ ë°ííë¤. 115 * 116 * @param minLen - 117 * ìµìê¸¸ì´ 118 * @return ìµìê¸¸ì´ ì´ìì¸ì§ì ì¬ë¶ 119 */ 120String.prototype.isMin = function(minLen) { 121 return this.length >= minLen; 122} 123 124/** 125 * 문ìì´ì´ ì§ì í ìµëê¸¸ì´ ì´íì¸ì§ì ì¬ë¶ë¥¼ ë°ííë¤. 126 * 127 * @param maxLen - 128 * ìµëê¸¸ì´ 129 * @return ìµëê¸¸ì´ ì´íì¸ì§ì ì¬ë¶ 130 */ 131String.prototype.isMax = function(maxLen) { 132 return this.length <= maxLen; 133} 134 135/** 136 * 문ìì´ì´ ì§ì í ìµìë°ì´í¸ì ì´ìì¸ì§ì ì¬ë¶ë¥¼ ë°ííë¤. 137 * 138 * @param minByte - 139 * ìµìë°ì´í¸ì 140 * @return ìµìë°ì´í¸ì ì´ìì¸ì§ì ì¬ë¶ 141 */ 142String.prototype.isMinByte = function(minByte) { 143 return this.getByte() >= minByte; 144} 145 146/** 147 * 문ìì´ì´ ì§ì í ìµëë°ì´í¸ì ì´íì¸ì§ì ì¬ë¶ë¥¼ ë°ííë¤. 148 * 149 * @param maxByte - 150 * ìµëë°ì´í¸ì 151 * @return ìµëë°ì´í¸ì ì´íì¸ì§ì ì¬ë¶ 152 */ 153String.prototype.isMaxByte = function(maxByte) { 154 return this.getByte() <= maxByte; 155} 156 157/** 158 * 문ìì´ì´ ì문ì¸ê²½ì° ë문ìë¡ ì¹ííë¤. 159 * 160 * @return ë문ìë¡ ì¹íë 문ìì´ 161 */ 162String.prototype.upper = function() { 163 return this.toUpperCase(); 164} 165 166/** 167 * 문ìì´ì´ ì문ì¸ê²½ì° ì문ìë¡ ì¹ííë¤. 168 * 169 * @return ì문ìë¡ ì¹íë 문ìì´ 170 */ 171String.prototype.lower = function() { 172 return this.toLowerCase(); 173} 174 175/** 176 * 문ìì´ ì¢ì° 공백ì ì ê±°íë¤. 177 * 178 * @return ì¢ì° 공백 ì ê±°ë 문ìì´ 179 */ 180String.prototype.trim = function() { 181 return this.replace(/^\s+/g, '').replace(/\s+$/g, ''); 182} 183 184/** 185 * 문ìì´ ì¢ ê³µë°±ì ì ê±°íë¤. 186 * 187 * @return ì¢ ê³µë°± ì ê±°ë 문ìì´ 188 */ 189String.prototype.ltrim = function() { 190 return this.replace(/(^\s*)/, ""); 191} 192 193/** 194 * 문ìì´ ì° ê³µë°±ì ì ê±°íë¤. 195 * 196 * @return ì° ê³µë°± ì ê±°ë 문ìì´ 197 */ 198String.prototype.rtrim = function() { 199 return this.replace(/(\s*$)/, ""); 200} 201 202/** 203 * 문ìì´ìì 모ë êµì²´í 문ìì´ì ëì²´ 문ìì´ë¡ ì¹ííë¤. 204 * 205 * @param pattnStr - 206 * ì°¾ì 문ìì´ 207 * @param chngStr - 208 * ëì²´ 문ìì´ 209 * @return ì¹íë 문ìì´ 210 */ 211String.prototype.replaceAll = function(pattnStr, chngStr) { 212 var retsult = ""; 213 var trimStr = this.replace(/(^\s*)|(\s*$)/g, ""); 214 215 if (trimStr && pattnStr != chngStr) { 216 retsult = trimStr; 217 while (retsult.indexOf(pattnStr) > -1) { 218 retsult = retsult.replace(pattnStr, chngStr); 219 } 220 } 221 return retsult; 222} 223 224/** 225 * 문ìì´ì ê±°ê¾¸ë¡ ì¹ííë¤. 226 * 227 * @return ê±°ê¾¸ë¡ ì¹íë 문ìì´ 228 */ 229String.prototype.reverse = function() { 230 var result = ''; 231 232 for (var i = this.length - 1; i > -1; i--) { 233 result += this.substring(i, i + 1); 234 } 235 return result; 236} 237 238/** 239 * ì§ì í 길ì´ë§í¼ ì본 문ìì´ ì¼ìª½ì í¨ë©ë¬¸ìì´ì ì±ì´ë¤. 240 * 241 * @param len - 242 * ì±ì¸ ê¸¸ì´ 243 * @param padStr - 244 * ì±ì¸ 문ìì´ 245 * @return ì±ìì§ ë¬¸ìì´ 246 */ 247String.prototype.lpad = function(len, padStr) { 248 var result = ''; 249 var loop = Number(len) - this.length; 250 for (var i = 0; i < loop; i++) { 251 result += padStr.toString(); 252 } 253 return result + this; 254} 255 256/** 257 * ì§ì í 길ì´ë§í¼ ì본 문ìì´ ì¤ë¥¸ìª½ì í¨ë©ë¬¸ìì´ì ì±ì´ë¤. 258 * 259 * @param len - 260 * ì±ì¸ ê¸¸ì´ 261 * @param padStr - 262 * ì±ì¸ 문ìì´ 263 * @return ì±ìì§ ë¬¸ìì´ 264 */ 265String.prototype.rpad = function(len, padStr) { 266 267 var result = ''; 268 var loop = Number(len) - this.length; 269 for (var i = 0; i < loop; i++) { 270 result += padStr.toString(); 271 } 272 return this + result; 273} 274 275/** 276 * 문ìì´ì´ 공백ì´ë ëì¸ì§ì ì¬ë¶ë¥¼ ë°ííë¤. 277 * 278 * @return 공백ì´ë ëì¸ì§ì ì¬ë¶ 279 */ 280String.prototype.isBlank = function() { 281 var str = this.trim(); 282 for (var i = 0; i < str.length; i++) { 283 if ((str.charAt(i) != "\t") && (str.charAt(i) != "\n")&& (str.charAt(i) != "\r")) { 284 return false;
285 } 286 } 287 return true; 288} 289 290/** 291 * 문ìì´ì´ ìì´ë§ì¼ë¡ 구ì±ëì´ ìëì§ì ì¬ë¶ë¥¼ ë°ííë¤. 292 * 293 * @param exceptChar - 294 * ì¶ê° íì©í 문ì 295 * @return ìì´ë§ì¼ë¡ 구ì±ëì´ ìëì§ì ì¬ë¶ 296 */ 297String.prototype.isEng = function(exceptChar) { 298 return (/^[a-zA-Z]+$/).test(this.remove(exceptChar)) ? true : false; 299} 300 301/** 302 * 문ìì´ì´ ì«ìì ìì´ë§ì¼ë¡ 구ì±ëì´ ìëì§ì ì¬ë¶ë¥¼ ë°ííë¤. 303 * 304 * @param exceptChar - 305 * ì¶ê° íì©í 문ì 306 * @return ì«ìì ìì´ë§ì¼ë¡ 구ì±ëì´ ìëì§ì ì¬ë¶ 307 */ 308String.prototype.isEngNum = function(exceptChar) { 309 return (/^[0-9a-zA-Z]+$/).test(this.remove(exceptChar)) ? true : false; 310} 311 312/** 313 * 문ìì´ì´ íê¸ë§ì¼ë¡ 구ì±ëì´ ìëì§ì ì¬ë¶ë¥¼ ë°ííë¤. 314 * 315 * @param exceptChar - 316 * ì¶ê° íì©í 문ì 317 * @return íê¸ë§ì¼ë¡ 구ì±ëì´ ìëì§ì ì¬ë¶ 318 */ 319String.prototype.isKor = function(exceptChar) { 320 return (/^[ê°-í£]+$/).test(this.remove(exceptChar)) ? true : false; 321} 322 323/** 324 * 문ìì´ì´ ì«ìì íê¸ë§ì¼ë¡ 구ì±ëì´ ìëì§ì ì¬ë¶ë¥¼ ë°ííë¤. 325 * 326 * @param exceptChar - 327 * ì¶ê° íì©í 문ì 328 * @return ì«ìì íê¸ë§ì¼ë¡ 구ì±ëì´ ìëì§ì ì¬ë¶ 329 */ 330String.prototype.isKorNum = function(exceptChar) { 331 return (/^[0-9ê°-í£]+$/).test(this.remove(exceptChar)) ? true : false; 332} 333 334/** 335 * 문ìì´ì´ ì문과 íê¸ë§ì¼ë¡ 구ì±ëì´ ìëì§ì ì¬ë¶ë¥¼ ë°ííë¤. 336 * 337 * @param exceptChar - 338 * ì¶ê° íì©í 문ì 339 * @return ì문과 íê¸ë§ì¼ë¡ 구ì±ëì´ ìëì§ì ì¬ë¶ 340 */ 341String.prototype.isEngKor = function(exceptChar) { 342 return (/^[a-zA-Zê°-í£]+$/).test(this.remove(exceptChar)) ? true : false; 343} 344 345/** 346 * ì´ë©ì¼ 주ìì ì í¨ì± ì¬ë¶ë¥¼ ë°ííë¤. 347 * 348 * @return ì í¨ì± ì¬ë¶ 349 */ 350String.prototype.isEmail = function() { 351 return (/\w+([-+.]\w+)*@\w+([-.]\w+)*\.[a-zA-Z]{2,4}$/).test(this.trim()); 352} 353 354/** 355 * ì íë²í¸ì ì í¨ì± ì¬ë¶ë¥¼ ë°ííë¤. 356 * 357 * @param dlm - 358 * 구ë¶ì(default : '-') 359 * @return ì í¨ì± ì¬ë¶ 360 */ 361String.prototype.isPhone = function(dlm) { 362 var arg = dlm != null && typeof (dlm) != 'undefined' && dlm.neq('') ? dlm 363 : '-'; 364 return eval("(/(02|0[3-9]{1}[0-9]{1})" + arg + "[1-9]{1}[0-9]{2,3}" + arg + "[0-9]{4}$/).test(this)"); 365} 366 367/** 368 * í´ëí°ë²í¸ ì í¨ì± ì¬ë¶ë¥¼ ë°ííë¤. 369 * 370 * @param dlm - 371 * 구ë¶ì(default : '-') 372 * @return ì í¨ì± ì¬ë¶ 373 */ 374String.prototype.isMobile = function(dlm) { 375 var arg = dlm != null && typeof (dlm) != 'undefined' && dlm.neq('') ? dlm 376 : '-'; 377 return eval("(/01[016789]" + arg + "[1-9]{1}[0-9]{2,3}" + arg + "[0-9]{4}$/).test(this)"); 378} 379 380/** 381 * ë ì§ì ì í¨ì± ì¬ë¶ë¥¼ ë°ííë¤. 382 * 383 * @return ì í¨ì± ì¬ë¶ 384 */ 385String.prototype.isDate = function() { 386 var result = false;
387 if (this.length == 8 && this.isNum()) { 388 var y = Number(this.substring(0, 4)); 389 var m = Number(this.substring(4, 6)); 390 var d = Number(this.substring(6, 8)); 391 var inDate = new Date(y, m - 1, d); 392 result = (Number(inDate.getFullYear()) == y&& Number(inDate.getMonth() + 1) == m && Number(inDate.getDate()) == d); 393 } 394 return result; 395} 396 397/** 398 * íì¼ì íì¥ì를 구íì¬ ë°ííë¤. 399 * 400 * @return íì¥ì 401 */ 402String.prototype.ext = function() { 403 alert('2222222'); 404 return (this.indexOf(".") < 0) ? "" : this.substring( 405 this.lastIndexOf(".") + 1, this.length); 406} 407 408/** 409 * null ì´ë ë¹ê°ì 기본ê°ì¼ë¡ ë³ê²½ 410 * @param str ì ë ¥ê° 411 * @param defaultVal 기본ê°(ìµì ) 412 * @returns {String} ì²´í¬ ê²°ê³¼ê° 413 */ 414function nvl(str) { 415// alert('test : ' +str); 416 if(str == "" || str == null || str == undefined || ( str != null && typeof str == "object" && !Object.keys(str).length )){ 417 return "-"; 418 } 419 420/* if (typeof str == "undefined" || str == null || str == '' || str == "undefined") { 421 return "-"; 422 }*/ 423 424 return str; 425} 426 427 428
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.