JavaScript 빈 칸 을 제거 하 는 세 가지 방법 (trim)


from:http://www.yaosansi.com/post/304.html
분류: JavaScript 발표: yaosansi 탐색: 58406 날짜: 2005 년 12 월 2 일
방법 1: 개인 적 으로 가장 좋 은 방법 이 라 고 생각 합 니 다. 정규 표현 식 을 사용 합 니 다. 이것 은 가장 핵심 적 인 원리 입 니 다. 그 다음 에 이 방법 은 JavaScript 의 prototype 속성 을 사 용 했 습 니 다. 사실 이 속성 을 사용 하지 않 는 것 처럼 함수 로 실현 할 수 있 습 니 다. 그러나 이렇게 한 후에 사용 하 는 것 이 비교적 편리 합 니 다. 다음은 이 속성 이 어떻게 사용 되 는 지 살 펴 보 겠 습 니 다. 대상 형식의 원형 인용 을 되 돌려 줍 니 다.object Name. prototype object Name 인 자 는 대상 의 이름 입 니 다.prototype 속성 으로 대상 의 클래스 를 제공 하 는 기본 기능 을 설명 합 니 다.대상 의 새로운 인 스 턴 스 '계승' 은 대상 에 게 원형 을 부여 합 니 다.예 를 들 어 Array 대상 에 배열 의 최대 요소 값 을 되 돌려 주 는 방법 을 추가 합 니 다.이 점 을 완성 하려 면 이 함 수 를 Array. prototype 에 추가 하고 사용 하 십시오.
function
 array_max( ){
   var
 i, max = this
[0];
   for
 (i = 1; i < this
.length; i++)
   {
   if
 (max < this
[i])
   max = this
[i];
   }
   return
 max;
}
Array.prototype.max = array_max;
var
 x = new
 Array(1, 2, 3, 4, 5, 6);
var
 y = x.max( );

이 코드 가 실 행 된 후 y 는 배열 x 의 최대 값 을 저장 하거나 6 이 라 고 합 니 다.모든 JScript 내부 대상 은 읽 기 전용 prototype 속성 이 있 습 니 다.이 예 에서 처럼 원형 에 기능 을 추가 할 수 있 지만 이 대상 은 서로 다른 원형 을 부여 할 수 없다.그러나 사용자 가 정의 한 대상 은 새로운 원형 에 부여 할 수 있 습 니 다.이 언어 는 각 내부 대상 의 방법 과 속성 목록 을 참고 하여 어떤 것 이 대상 의 원형 부분 이 고 어떤 것 이 아 닌 지 를 지적 합 니 다.
다음은 코드 원문 입 니 다.
 
 프로그램 코드
 
<SCRIPT LANGUAGE="JavaScript"
>
<!--
//  :    
//made by yaosansi 2005-12-02
//For more visit http://www.yaosansi.com
// Trim() , Ltrim() , RTrim()
 
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, ""
); 
} 
 
//-->
</SCRIPT>

다음은 JS 스 크 립 트 에서 '/ s 가 무엇 을 표시 하 는 지' \ s 가 공백 문자 와 일치 하 는 지 살 펴 보 겠 습 니 다. 빈 칸, 탭 문자, 페이지 바 꾸 기 등 을 포함 합 니 다.등가   소문 자 s 방법 2: 사용 방법 이 간단 하기 때문에 여 기 는 예 를 들 지 않 습 니 다.
//javascript      
function
 LTrim(str){ //          
var
 i;
for
(i=0;i if
(str.charAt(i)!=" "
&&str.charAt(i)!=" "
) break
;
}
str = str.substring(i,str.length);
return
 str;
}
function
 RTrim(str){
var
 i;
for
(i=str.length-1;i>=0;i--){
if
(str.charAt(i)!=" "
&&str.charAt(i)!=" "
) break
;
}
str = str.substring(0,i+1);
return
 str;
}
function
 Trim(str){
 
return
 LTrim(RTrim(str));
 
}

방법 3: 이 방법 은 함 수 를 함께 쓰 고 전달 매개 변수 가 다 르 기 때문에 서로 다른 실현 효 과 를 얻는다. 
<
HTML
>
<
HEAD
>
<
TITLE
>
JavaScript Trim Function</
TITLE
>
<
SCRIPT
 LANGUAGE
=javascript
>
   1:
  
   2:
 <!--
   3:
 //****************************************************************
   4:
 // Description: sInputString       ,iType   ,   
   5:
 // 0 -       ; 1 -      ; 2 -      
   6:
 //****************************************************************
   7:
 function
 cTrim(sInputString,iType)
   8:
 {
   9:
 var
 sTmpStr = ' '
  10:
 var
 i = -1
  11:
  
  12:
 if
(iType == 0 || iType == 1)
  13:
 {
  14:
 while
(sTmpStr == ' '
)
  15:
 {
  16:
 ++i
  17:
 sTmpStr = sInputString.substr(i,1)
  18:
 }
  19:
 sInputString = sInputString.substring(i)
  20:
 }
  21:
  
  22:
 if
(iType == 0 || iType == 2)
  23:
 {
  24:
 sTmpStr = ' '
  25:
 i = sInputString.length
  26:
 while
(sTmpStr == ' '
)
  27:
 {
  28:
 --i
  29:
 sTmpStr = sInputString.substr(i,1)
  30:
 }
  31:
 sInputString = sInputString.substring(0,i+1)
  32:
 }
  33:
 return
 sInputString
  34:
 }
  35:
 //-->
SCRIPT
>
   1:
  
   2:
 </HEAD>
   3:
  
   4:
 <BODY>
   5:
 JavaScript           (   ):<br>
   6:
  
   7:
 <SCRIPT LANGUAGE=javascript>
   8:
 <!--
   9:
 var
 sR0 = cTrim(" T e s t "
,0)
  10:
 var
 sR1 = cTrim(" T e s t "
,1)
  11:
 var
 sR2 = cTrim(" T e s t "
,2)
  12:
 document.write("R0 = '"
 + sR0 + "'<br>"
)
  13:
 document.write("R1 = '"
 + sR1 + "'<br>"
)
  14:
 document.write("R2 = '"
 + sR2 + "'<br>"
)
  15:
 //-->
SCRIPT
>
 
</
BODY
>
</
HTML
>

좋은 웹페이지 즐겨찾기