JavaScript 문자열 스트립()?
문자열에서 선행 및 후행 공백을 제거하려면 어떻게 해야 합니까?
예를들면," dog "가 되어야 한다"dog".
사용방법:
if(typeof(String.prototype.trim) === "undefined")
{
String.prototype.trim = function()
{
return String(this).replace(/^\s+|\s+$/g, '');
};
}
이제 트림 기능을 문자열의 퍼스트 클래스 기능으로 사용할 수 있습니다.예를 들어 다음과 같습니다.
" dog".trim() === "dog" //true
편집: 정규식 패턴을 하나로 결합하자는 J-P의 제안을 받아들였습니다.Christoph의 제안에 따라 글로벌 수식어도 추가했습니다.
트리밍 기능을 다시 만들기 전에 냄새를 맡는 것에 대한 매튜 크럼리의 아이디어를 받아들였습니다.이는 클라이언트에서 사용되는 JavaScript 버전이 보다 최신이기 때문에 자체 네이티브 트림 기능이 있는 경우에 수행됩니다.
jquery 사용자의 경우$.trim(s)
Gumbo는 이미 코멘트에서 이것을 언급했지만, 이것은 대답으로서 반복되고 있다:trim()메서드는 JavaScript 1.8.1에서 추가되었으며 모든 최신 브라우저(Firefox 3.5+, IE 9, Chrome 10, Safari 5.x)에서 지원되지만 IE 8 이전 버전에서는 지원되지 않습니다.사용법은 간단합니다.
" foo\n\t ".trim() => "foo"
다음 항목도 참조하십시오.
- https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/String/Trim
- http://msdn.microsoft.com/en-us/library/windows/apps/ff679971%28v=vs.94%29.aspx
제가 사용하는 기능은 다음과 같습니다.
function trim(s){
return ( s || '' ).replace( /^\s+|\s+$/g, '' );
}
MDN에서 BOM 및 NBSP 삭제를 지원하는 보다 나은 폴리필:
if (!String.prototype.trim) {
String.prototype.trim = function () {
return this.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, '');
};
}
기본 제공 프로토타입을 수정하면 성능 저하(JS 엔진이 여러 런타임 최적화에 영향을 미치기 때문에)가 발생하며, 성능이 중요한 상황에서는 다음을 정의하는 대안을 고려해야 할 수도 있습니다.myTrimFunction(string)대신.즉, 네이티브가 없는 오래된 환경을 대상으로 하는 경우.trim()대응해야 할 중요한 퍼포먼스 문제를 안고 있을 가능성이 높습니다.
Steven Levithan은 Faster JavaScript Trim을 구현하는 방법에 대해 쓴 적이 있습니다.그것은 확실히 볼만한 가치가 있다.
이미 jQuery를 사용하고 있는 경우 jQuery에 이미 제공되는 항목을 확인할 수 있습니다.
스트링을 트리밍하기 위해 새로운 코드를 쓰는 것이 아니라 "strip()"을 호출하는 기존 코드를 보고 그것이 왜 작동하지 않는지 궁금하다면 prototypejs 프레임워크와 같은 것을 포함하려고 하는지 확인하고 실제로 로드되고 있는지 확인할 수 있습니다.
이 프레임워크는 모든 String 오브젝트에 strip 기능을 추가하지만, 예를 들어 업그레이드 했을 때 웹페이지가 오래된 .js 파일을 참조하고 있다면 당연히 동작하지 않습니다.
언급URL : https://stackoverflow.com/questions/1418050/string-strip-for-javascript
'source' 카테고리의 다른 글
| null=True와 blank=의 차이점은 무엇입니까?장고에서 사실인가요? (0) | 2022.10.18 |
|---|---|
| v-app-bar가 기본 높이를 유지하는 대신 낮은 페이지 콘텐츠에서 아래로 확장됨 (0) | 2022.10.18 |
| 디자인 패턴 웹 기반 응용 프로그램 (0) | 2022.10.18 |
| "java.lang"을 다루는 방법Out Of Memory Error: Java 힙 공간" 오류입니까? (0) | 2022.10.18 |
| PHP 세션이 하위 도메인으로 전달되도록 허용 (0) | 2022.10.18 |