나는 가지고있다
var id="ctl03_Tabs1";
JavaScript를 사용하여 마지막 5 자 또는 마지막 문자를 어떻게 얻을 수 있습니까?
나는 가지고있다
var id="ctl03_Tabs1";
JavaScript를 사용하여 마지막 5 자 또는 마지막 문자를 어떻게 얻을 수 있습니까?
답변:
편집 : 다른 사람들이 지적했듯이 slice(-5)
대신을 사용하십시오 substr
. 그러나 .split().pop()
다른 접근법에 대해서는이 답변의 맨 아래에 있는 솔루션을 참조하십시오 .
원래 답변 :
속성 .substr()
과 결합 된 Javascript 문자열 방법을 사용하려고 .length
합니다.
var id = "ctl03_Tabs1";
var lastFive = id.substr(id.length - 5); // => "Tabs1"
var lastChar = id.substr(id.length - 1); // => "1"
이것은 id.length-5에서 시작하는 문자를 가져오고 .substr ()에 대한 두 번째 인수가 생략되므로 문자열의 끝까지 계속됩니다.
.slice()
다른 사람들이 아래에 지적한 것처럼 이 방법을 사용할 수도 있습니다 .
밑줄 뒤의 문자를 찾으려면 다음을 사용할 수 있습니다.
var tabId = id.split("_").pop(); // => "Tabs1"
이렇게하면 문자열이 밑줄의 배열로 분할 된 다음 배열에서 마지막 요소 (원하는 문자열)가 "팝핑"됩니다.
.split().pop()
여전히 초당 5 백만 작업입니다. 성능 문제가 될 때까지 성능 문제가 아닙니다. ;)
slice
이 시점에서 더 나은 옵션 이라고 언급하기 위해 답변을 편집했습니다 .
slice
하거나 substr
숫자 (int)를 사용하려는 경우 먼저 문자열로 변환하십시오. 예myVar.toString().slice(-5)
를 사용하지 마십시오 .substr()
. 이 .slice()
방법은 브라우저 간 호환 가능하기 때문에 대신 사용 하십시오 (IE 참조).
const id = "ctl03_Tabs1";
console.log(id.slice(id.length - 5)); //Outputs: Tabs1
console.log(id.slice(id.length - 1)); //Outputs: 1
slice()
참조 : developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/…
_Tabs15
? slice (-5) 만 잡아야 abs15
합니까? split / pop은 다양한 길이에서 훨씬 잘 작동합니다 ...
당신은 사용할 수 있습니다 SUBSTR () 메소드를 마지막 n 문자를 검색하는 음의 시작 위치로. 예를 들어, 이것은 마지막 5를 얻습니다.
var lastFiveChars = id.substr(-5);
문자열을 배열로 취급 할 수 있으므로 마지막 문자를 얻는 것이 쉽습니다.
var lastChar = id[id.length - 1];
문자열의 섹션을 얻으려면 substr 함수 또는 substring 함수를 사용할 수 있습니다 .
id.substr(id.length - 1); //get the last character
id.substr(2); //get the characters from the 3rd character on
id.substr(2, 1); //get the 3rd character
id.substr(2, 2); //get the 3rd and 4th characters
차이 substr
와 substring
상기 제 (선택적) 매개 변수를 처리하는 방법이다. 에서 substr
,이 인덱스의 문자의 양 (첫 번째 매개 변수)입니다. 에서 substring
, 문자 슬라이싱이 끝나는 곳의 인덱스입니다.
Substr 함수를 사용하면 마이너스를 사용하여 마지막 문자를 얻을 수 있습니다.
var string = "hello";
var last = string.substr(-1);
매우 유연합니다. 예를 들면 다음과 같습니다.
// Get 2 characters, 1 character from end
// The first part says how many characters
// to go back and the second says how many
// to go forward. If you don't say how many
// to go forward it will include everything
var string = "hello!";
var lasttwo = string.substr(-3,2);
// = "lo"
마지막 문자 또는 알고있는 위치에있는 문자를 원한다면 단순히 배열로 문자열을 trat 할 수 있습니다! -문자열은 자바 스크립트에서 반복 가능합니다-
Var x = "hello_world";
x[0]; //h
x[x.length-1]; //d
그러나 하나 이상의 문자가 필요한 경우 스플 라이스를 사용하는 것이 효과적입니다.
x.slice(-5); //world
당신의 모범에 대하여
"rating_element-<?php echo $id?>"
id를 추출하려면 split + pop을 쉽게 사용할 수 있습니다
Id= inputId.split('rating_element-')[1];
이것은 id를 반환하거나 'rating_element'다음에 id가 없으면 정의되지 않습니다 :)
하위 문자열을 다른 문자열의 끝과 비교하고 결과를 부울로 사용한다고 가정하면 String 클래스를 확장하여 다음을 수행 할 수 있습니다.
String.prototype.endsWith = function (substring) {
if(substring.length > this.length) return false;
return this.substr(this.length - substring.length) === substring;
};
다음을 수행하도록 허용 :
var aSentenceToPonder = "This sentence ends with toad";
var frogString = "frog";
var toadString = "toad";
aSentenceToPonder.endsWith(frogString) // false
aSentenceToPonder.endsWith(toadString) // true
쉼표가 문자열의 마지막 문자 인 경우 쉼표를 제거합니다.
var str = $("#ControlId").val();
if(str.substring(str.length-1)==',') {
var stringWithoutLastComma = str.substring(0,str.length-1);
}
실제로 다음과 같은 문제가 있으며 위의 답변을 통해이 문제를 해결했지만 입력 요소에서 id를 추출하는 다른 접근법이 있습니다.
에 제출 된 입력을 첨부했습니다
id="rating_element-<?php echo $id?>"
그리고 버튼을 클릭하면 id (숫자) 또는 php ID ($ id) 만 추출하고 싶습니다 .
그래서 내가하는 일.
$('.rating').on('rating.change', function() {
alert($(this).val());
// console.log(this.id);
var static_id_text=("rating_element-").length;
var product_id = this.id.slice(static_id_text); //get the length in order to deduct from the whole string
console.log(product_id );//outputs the last id appended
});
마지막 5
var id="ctl03_Tabs1";
var res = id.charAt(id.length-5)
alert(res);
마지막
var id="ctl03_Tabs1";
var res = id.charAt(id.length-1)
alert(res);
charAt
하십시오 substr
. 즉 charAt
얻는 다섯 번째에서-마지막 .