YesYo.com MintState Forums
뒤로    YesYo.com MintState BBS > Tech > Javascript
검색
멤버이름    오토
비밀번호 
 

태그제거 공백제거 문자열바꿈 등..

페이지 정보

작성자 MintState 댓글 0건 조회 12,931회 작성일 09-01-13 12:24

본문

태그제거 공백제거 문자열바꿈 등..

<HTML>
  <HEAD>
    <SCRIPT language="javascript">
     /* 
      방법 1 :
      내용: String 객체의 프로토타입에 stripTags라는 메서드를 추가.
      결과: 실행 속도가 느림.
            "<",">" 무조건 제거됨(태그가 아니더라도)
    */
      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(); 
        } 
      } 
      
      function ConvertText1(form){
        var str = form.org.value.stripTags();
        str = str.replace(new RegExp("&nbsp;","gim")," ");
        form.conv.value = str;
      }
      /*
        방법 2: 
        내용: 정규표현식을 이용했습니다.
        결과: 일부 태그를 처리 못하는 경우 있슴.
              실행 속도는 빠름
              태그가 아닌 "<",">" 식별 가능
      */
      
      function ConvertText2(form){
        var str = form.org.value.replace(new RegExp("<(/)?([a-zA-Z]*)(\\s[a-zA-Z]*=[^>]*)?(\\s)*(/)?>","gim"), "");
        str = str.replace(new RegExp("&nbsp;","gim")," ");
        form.conv.value = str;
      }      
    </SCRIPT>
  </HEAD>
  <BODY>
    <FORM>
      <TEXTAREA name="org" cols="80" rows="20"></TEXTAREA>
      <TEXTAREA name="conv" cols="80" rows="20"></TEXTAREA>
      <INPUT type="button" value="방법 1" onClick="ConvertText1(this.form)">
      <INPUT type="button" value="방법 2" onClick="ConvertText2(this.form)">
    </FORM>
  </BODY>
</HTML>


<script language="JavaScript">
<!--
// HTML 특수문자를 변환
String.prototype.htmlChars = function() {
       var str = ((this.replace('"', '&amp;')).replace('"', '&quot;')).replace(''', '&#39;');
       return (str.replace('<', '&lt;')).replace('>', '&gt;');
}

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

//좌우 공백없애는 함수
function trim(string) {
    var temp = "";    
    string = '' + string;
    splitstring = string.split(" ");
    for(i = 0; i < splitstring.length; i++)
        temp += splitstring[i];
    return temp;
   // 사용방법 : trim(form.msg.value);
}

// 왼쪽 공백없애는 함수
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.replaceExp = function(from, to){ 
      return this.replace(new RegExp(from, "g"), to);
} 

String.prototype.replaceEval = function(from, to){ 
      return this.replace(eval("/" + from + "/g"), to); 
} 

// 문자열을 배열로
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;
}
</script>

댓글목록

등록된 댓글이 없습니다.

Total 178건 2 페이지
게시물 검색
모바일 버전으로 보기
CopyRight ©2004 - 2019, YesYo.com MintState. ™