[자작] 문자열 스크립트 종합선물세트

June 20th, 2004 Categories:

자바스크립트용으로 PHP의 함수들을 흉내내본 것입니다.
더 필요한 게 있으면 그때그때 추가할 예정입니다.
기능 건의 받습니다. -_- v

// HTML 특수문자를 변환
String.prototype.htmlChars = function () {
var str = ((this.replace('"', '&')).replace('"', '"'));
return (str.replace('<', '<')).replace('>', '>');
}

// 좌우 공백없애는 함수
String.prototype.trim = function () { return this.replace(/(^s*)|(s*$)/g, ""); }

// 왼쪽 공백없애는 함수
String.prototype.ltrim = function () { return this.replace(/^s*/g, ""); }

// 오른쪽 공백없애는 함수
String.prototype.rtrim = function () { return this.replace(/s*$/g, ""); }

// 태그만 제거
String.prototype.stripTags = function () {
var str = this;
var pos1 = str.indexOf('<');

if (pos1 == -1) return str;
else {
var pos2 = str.indexOf('>', pos1);
if (pos2 == -1) return str;
return (str.substr(0, pos1) + str.substr(pos2+1)).stripTags();
}
}

// 대소문자 구별하지 않고 단어 위치 찾기
String.prototype.ipos = function (needle, offset) {
var offset = (typeof offset == "number")?offset:0;
return str.toLowerCase().indexOf(needle.toLowerCase(), offset);
}

// 대소문자 구별하지 않고 뒤에서부터 단어위치 찾기
String.prototype.ripos = function (needle, offset) {
var offset = (typeof offset == "number")?offset:0;
return str.toLowerCase().lastIndexOf(needle.toLowerCase(), offset);
}

// 문자열을 배열로
String.prototype.toArray = function () {
var len = this.length;
var arr = new Array;
for (var i=0; i return arr;
}

// 문자열의 bytes 크기
String.prototype.bytes = function() {
var bytes = 0;

for(var i=0; i < this.length; i++) {
bytes += (this.charCodeAt(i) > 128)?1:2;
}
}

Tags:

13 Responses to “[자작] 문자열 스크립트 종합선물세트”

  1. October 6th, 2005 at 19:31
    1

    헉… 그러네요. ;;

  2. October 6th, 2005 at 17:34
    2

    모든 trim 함수 중에
    /(^s*)/g 이런 패턴을 적용하셨는데 사용해 보니 안되더군요 그래서 s* 를 없에고 공백으로 넣어 주니깐 되네요..

    그리고 bytes 함수 경우는 return bytes; 가 빠진거 아닌가요?

  3. October 27th, 2004 at 01:31
    3

    히스타 // 감사합니다. :)
    회사에서 하는 프로젝트가 정리되고 나면 구문강조 클래스를 새롭게 손볼 생각입니다. 현재 것은 PHP, JS, HTML 등이 따로놀게 되어있거든요. ^^a

  4. 히스타
    October 26th, 2004 at 23:15
    4

    답변감사합니다.. 센스가 있으시네요 ^^ 홈피도 아주 멋지답니다.

  5. October 23rd, 2004 at 12:01
    5

    히스타 // 아… 그건 제가 만든 구문강조 클래스…를 이용해서 색을 입힌겁니다. 에디트 플러스라는 편집기의 구문강조 파일을 그대로 사용하도록 만들었죠. ^^;;

  6. 히스타
    October 23rd, 2004 at 00:21
    6

    궁금한게 있는데 저 위의 스크립트 색깔은 어떻게 입히신건지 궁금하네요.. 무슨 기능을 가진 프로그램인가요 직접 색을 칠하신건가 또 다른 스크립트를 이용하셨는지 알고싶어요 ㅇㅇ;

  7. ben
    June 23rd, 2004 at 18:25
    7

    좋은정보 감사합니다. 혹시 가능하면 스크립트부분만 문자열에서 삭제하는 방법이 있으면 좋겠습니다. ^^

  8. 하늘아부지
    June 23rd, 2004 at 12:49
    8

    <> & ” ‘ & " ' : 특수문자 테스트
    : 탭 테스트

  9. June 22nd, 2004 at 14:27
    9

    답글 테스트중…
    답글에서도 탭이 먹도록 하는 걸 테스트 중입니다. 호이호이~
    // 문자열을 배열로
    String.prototype.toArray = function () {
    var len = this.length;
    var arr = new Array;
    for (var i=0; i<len; i++) arr[i] = this.charAt(i);
    return arr;
    }

  10. 고스락
    June 22nd, 2004 at 02:58
    10

    힌트까지 들었는데.. 멍하니 바라만 봐야 하는 이 기분.. ㅡㅜ
    “지맘대로 강의실”이 빨리 활성화 되야 할 텐데.. ㅠ_ㅠ

  11. June 22nd, 2004 at 00:54
    11

    처음에.. “php의 함수들을 그대로 흉내낸” 이라고 한게 힌트입니다.
    (방금 소년탐정 김전일을 봤더니 말투가… -_-;;)

    각각 stripos, strripos 가 원본 함수입니다.

  12. June 21st, 2004 at 22:31
    12

    감사합니다.
    근데요, stripTags의 사용법은 알겟는데, String.prototype.ipos 의 사용법은 모르겟습니다. -_-;;;
    그냥 멍하니 바라만 보고 있읍니다.

1 trackbacks

  1. 좋은인연 Trackback | 2004/06/22
Comments are closed.