이것은 lgzx 회사의 인터뷰 질문입니다. 문자열 양쪽의 공백 문자(공백, 탭, 양식 피드 등 포함)를 제거하려면 js 문자열에 메서드를 추가해야 합니다.
다음과 같이 코드 코드를 복사합니다.
String.prototype.trim = 함수() {
//return this.replace(/[(^/s+)(/s+$)]/g,"");//문자열에서 공백 문자를 제거합니다.
//return this.replace(/^/s+|/s+$/g,"") //
return this.replace(/^/s+/g,"").replace(//s+$/g,"");
}
Mootools에서 사용되는 JQuery1.4.2
다음과 같이 코드 코드를 복사합니다.
함수 트림1(str){
return str.replace(/^(/s|/xA0)+|(/s|/xA0)+$/g, '');
}
Prototype에서 사용하는 jQuery1.4.3. 이 방법은 성능을 약간 향상시키기 위해 g를 제거합니다. 소규모로 문자열을 처리할 때 성능이 더 좋습니다.
다음과 같이 코드 코드를 복사합니다.
함수 트림2(str){
return str.replace(/^(/s|/u00A0)+/,'').replace(/(/s|/u00A0)+$/,'');
}
성능 테스트를 마친 Steven Levithan은 JS에서 문자열을 다듬는 가장 빠른 방법을 제안했는데, 이는 긴 문자열을 처리할 때 더 나은 성능을 발휘합니다.
다음과 같이 코드 코드를 복사합니다.
함수 트림3(str){
str = str.replace(/^(/s|/u00A0)+/,'');
for(var i=str.length-1; i>=0; i--){
if(//S/.test(str.charAt(i))){
str = str.substring(0, i+1);
부서지다;
}
}
str을 반환;
}
마지막으로 언급해야 할 점은 ECMA-262(V5)가 문자열에 기본 트림 방법(15.5.4.20)을 추가한다는 것입니다. 또한 Molliza Gecko 1.9.1 엔진에서는 TrimLeft 및 TrimRight 메소드가 String에 추가되었습니다.