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$/)
당신은 할 수 있습니다 'hello world'.slice(-5)==='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);
변수 stringCheck를 확인할 문자열로 변경할 수 있습니다. 다음과 같이 자신의 함수에 이것을 던지는 것이 더 좋습니다.
function DoesStringEndWith(myString, stringCheck)
{
var foundIt = (myString.lastIndexOf(stringCheck) === myString.length - stringCheck.length) > 0;
return foundIt;
}
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;
};
}
이것은 Mozilla 개발자 네트워크 에서 지적한 Array.prototype.forEach 메소드에 대해 제안 된 메소드입니다.
항상 String 클래스의 프로토 타입을 만들 수 있습니다.
String.prototype.endsWith = function (str) {return (this.match (str + "$") == str)}
http://www.tek-tips.com/faqs.cfm?fid=6620 에서 String 클래스에 대한 기타 관련 확장을 찾을 수 있습니다 .
참고 URL : https://stackoverflow.com/questions/1095201/javascript-or-jquery-string-ends-with-utility-function
'programing tip' 카테고리의 다른 글
python-requests 모듈의 모든 요청을 기록합니다. (0) | 2020.10.18 |
---|---|
최대 절전 모드에서 조건 쿼리를 사용할 때 조건을 어떻게 "OR"합니까? (0) | 2020.10.18 |
쉘 명령을 통해 mysql 데이터베이스를 삭제하는 방법 (0) | 2020.10.18 |
django urlresolvers reverse를 사용하여 GET 매개 변수를 전달하는 방법 (0) | 2020.10.18 |
소스 사용 방법 : JQuery UI 자동 완성에서 function ()… 및 AJAX (0) | 2020.10.18 |