JavaScript 또는 jQuery 문자열은 유틸리티 함수로 끝납니다.
문자열이 어떤 값으로 끝나는지 알아내는 가장 쉬운 방법은 무엇입니까?
Regexps는 다음과 같이 사용할 수 있습니다.
str.match(/value$/)
문자열 끝에 'value'($)가 있으면 true로 반환됩니다.
prototypejs에서 도난:
String.prototype.endsWith = function(pattern) {
var d = this.length - pattern.length;
return d >= 0 && this.lastIndexOf(pattern) === d;
};
'slaughter'.endsWith('laughter');
// -> true
정규식
"Hello world".match(/world$/)
저는 매치 접근법에 운이 없었지만, 이것은 효과가 있었습니다:
"This is my string." 문자열이 있고 마침표로 끝나는지 확인하고 싶다면 다음을 수행합니다.
var myString = "This is my string.";
var stringCheck = ".";
var foundIt = (myString.lastIndexOf(stringCheck) === myString.length - stringCheck.length) > 0;
alert(foundIt);
변수 문자열Check를 확인할 문자열로 변경할 수 있습니다.더 좋은 것은 이렇게 자신만의 기능을 발휘하는 것입니다.
function DoesStringEndWith(myString, stringCheck)
{
var foundIt = (myString.lastIndexOf(stringCheck) === myString.length - stringCheck.length) > 0;
return foundIt;
}
할수있습니다'hello world'.slice(-5)==='world'
. 모든 브라우저에서 작동합니다.regex보다 훨씬 빠릅니다.
ES6는 이를 직접 지원합니다.
'this is dog'.endsWith('dog') //true
저는 @luca-matteis가 게시한 내용을 확대하고 있지만 댓글에서 지적된 문제를 해결하기 위해 코드가 기본 구현을 덮어쓰지 않도록 해야 합니다.
if ( !String.prototype.endsWith ) {
String.prototype.endsWith = function(pattern) {
var d = this.length - pattern.length;
return d >= 0 && this.lastIndexOf(pattern) === d;
};
}
이 방법은 Array.prototype에 대해 제안된 방법입니다.모질라 개발자 네트워크에서 지적된 각 방법에 대해
String 클래스는 언제든지 프로토타입 할 수 있으며 다음과 같이 작동합니다.
String.prototype.ends = function(str) {return(this.match(str+"$")==str)}과(와) 일치합니다.
String 클래스에 대한 다른 관련 확장자는 http://www.tek-tips.com/faqs.cfm?fid=6620 에서 찾을 수 있습니다.
언급URL : https://stackoverflow.com/questions/1095201/javascript-or-jquery-string-ends-with-utility-function
'programing' 카테고리의 다른 글
fgetcsv가 mac 형식의 csv 파일로 끝나는 줄을 읽지 못했는데, 더 나은 해결책이 있습니까? (0) | 2023.11.06 |
---|---|
jQuery로 RSS 구문 분석 (0) | 2023.11.06 |
ngModel의 *는 무엇입니까?달러 valid기 파이프라인? (0) | 2023.11.06 |
여러 JavaScript 배열 간 일치 항목 찾기 (0) | 2023.11.06 |
app.yaml로 환경변수를 GAE에 안전하게 저장 (0) | 2023.11.06 |