js String.prototype.trim 문자 앞 뒤 공백 확장

4651 단어 Stringtrim
최근 에 js 를 공부 할 때 발 견 된 이 함 수 는 앞 뒤 빈 칸 을 편리 하 게 제거 하고 정규 로 실현 하 며 간단 하고 편리 합 니 다.다음은 몇 가지 실현 방식 을 여러분 께 공유 해 드 리 겠 습 니 다.
String.Prototype.trim()
trim()은 문자열 양쪽 의 공백 문자 가 삭 제 된 새 문자열 을 되 돌려 줍 니 다.원래 문자열 에 영향 을 주지 않 습 니 다.
/*내 장 된 대상 추가 방법:String.prototype.trim(String 에 trim 방법 추가)
*^이 건 뭐 로 시작 해요?
*$이것 은 무엇으로 끝 납 니까
*'/s 는 String/d 는 숫자'
*replace(/^\s+/,")는 문자 로 시작 하 는 문자열 을 빈 문자열 로 바 꿉 니 다.
*replace(/\s+$/,")는 문자 로 끝 나 는 문자열 을 빈 문자열 로 바 꿉 니 다.
*/

String.prototype.trim = function(){
return this.replace(/^\s+/ , "").replace(/\s+$/ , "");
}
첫 번 째 실현 방식:이론 적 으로 비교적 좋 은 편 이다.
구체 적 으로 이 글 을 볼 수 있 습 니 다.
https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/String/trim

if (!String.prototype.trim) {
 String.prototype.trim = function () {
 return this.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, '');
 };
}
두 번 째 실현 방식
국내 홈 페이지 에서 보 았 습 니 다.테스트 는 괜 찮 습 니 다.추천 합 니 다.

 String.prototype.trim = function(a) {
 var b = (this + "").replace(/(^[ \t
\r\f\x0b\xa0]*)|([ \t
\r\f\x0b\xa0]*$)/g, ""); a && (a = (a + "").replace(/([\[\]\(\)\.\?\/\*\{\}\+\$\^\:])/g, "\\$1"), b = b.replace(new RegExp("(^[" + a + "]*)|([" + a + "]*$)", "g"), "")); return b };
세 번 째,범위 가 좀 작 아서 공 부 를 추천 하고 사용 을 추천 하지 않 습 니 다.

String.prototype.trim = function(){ 
 //                  。 
 return this.replace(/(^\s*)|(\s*$)/g,""); 
 } 
네 번 째 는 정칙 으로 실현 할 필요 가 없다.

var str = " ac c ";
//  String prototype          。
String.prototype.trim = function(){
 var start = 0;
 var end = code.length-1;
 while(start<=end && this.charAt(start) == ' '){
	start++;
 }
 while(start<=end && this.charAt(end) == ' '){
	end--;
 }
 //          
 return this.substring(start,end+1);
 };
 //        
 console.log("--"+str.trim()+"--")
첫 번 째,두 번 째 방법 을 추천 합 니 다.
다음은 다른 네티즌 의 보충 입 니 다.참고 하 시기 바 랍 니 다.
오늘 은 왕 이 면접 문제 라 는 문 제 를 보고 자신 에 게 trim()방법 을 써 달라 고 요구 했다.
var str="a sd"구현 하기;문자열 양쪽 의 빈 칸 을 제거 합 니 다.
직접 코드

var str = " a sd ";
 
 function trim (st) {
 //           
 var arr = st.split("");
 //        
 for (let i = 0; i < arr.length; i++) {
 //             
 if (arr[i] === " ") {
 arr.shift();
 /*console.log(arr.length, i)*/
 //                   
 if (arr[i+1] !== " ") {
 break;
 }
 
 }
 }
 //        
 for (let i = arr.length; i >= 0; i--) {
 //             
 if (arr[i-1] === " ") {
 arr.pop();
 //                   
 if (arr[i-2] !== " ") {
 break;
 }
 }
 }
 arr = arr.join("");
 /*console.log(arr);*/
 return arr;
 }
 var a = trim(str);
 console.log(a); //a sd//
원리 주석 을 분명하게 썼 다.
정규 구현 코드 를 사용 하지 않 습 니 다.

function trim(s){ 
return trimRight(trimLeft(s)); 
} 
//        
function trimLeft(s){ 
if(s == null) { 
return ""; 
} 
var whitespace = new String(" \t
\r"); var str = new String(s); if (whitespace.indexOf(str.charAt(0)) != -1) { var j=0, i = str.length; while (j < i && whitespace.indexOf(str.charAt(j)) != -1){ j++; } str = str.substring(j, i); } return str; } // function trimRight(s){ if(s == null) return ""; var whitespace = new String(" \t
\r"); var str = new String(s); if (whitespace.indexOf(str.charAt(str.length-1)) != -1){ var i = str.length - 1; while (i >= 0 && whitespace.indexOf(str.charAt(i)) != -1){ i--; } str = str.substring(0, i+1); } return str; } function delrd(str){ var reg=/,$/gi; str=str.replace(reg,""); return str; }
이상 은 js String.prototype.trim 문자 의 앞 뒤 공백 확장 에 대한 상세 한 내용 입 니 다.String 대상 에 trim 방법 을 추가 하 는 자 료 는 다른 관련 글 을 주목 하 십시오!

좋은 웹페이지 즐겨찾기