mam
var id="ctl03_Tabs1";
Używając JavaScript, w jaki sposób mogę uzyskać ostatnie pięć znaków lub ostatni znak?
javascript
użytkownik695663
źródło
źródło
Odpowiedzi:
EDYCJA: Jak zauważyli inni, użyj
slice(-5)
zamiastsubstr
. Jednak zobacz.split().pop()
rozwiązanie na dole tej odpowiedzi, aby uzyskać inne podejście.Oryginalna odpowiedź:
Będziesz chciał użyć metody ciągu JavaScript w
.substr()
połączeniu z.length
właściwością.Pobiera to znaki zaczynające się od id.length - 5 i, ponieważ pominięto drugi argument dla .substr (), przechodzi do końca łańcucha.
Możesz także użyć tej
.slice()
metody, jak wskazali inni poniżej.Jeśli chcesz po prostu znaleźć postacie po znaku podkreślenia, możesz użyć tego:
To dzieli ciąg na tablicę podkreślenia, a następnie „wyskakuje” ostatni element z tablicy (czyli ciąg, który chcesz).
źródło
.split().pop()
jest dużym hitem wydajności. Jeśli używasz tego w pętli, a wydajność ma krytyczne znaczenie, powinieneś o tym pamiętać..split().pop()
jest jeszcze 5 milionów operacji na sekundę. To nie jest problem z wydajnością, dopóki nie jest to problem z wydajnością. ;)slice
w tym momencie jest to lepsza opcja.slice
lubsubstr
numer (int), najpierw przekonwertuj go na ciąg znaków. Np.myVar.toString().slice(-5)
Nie używać
.substr()
..slice()
Zamiast tego użyj tej metody, ponieważ jest kompatybilna z wieloma przeglądarkami (patrz IE).substr () z wartością ujemną nie działa w IE
źródło
slice()
referencja: developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/…_Tabs15
? plasterek (-5) złapałby tylkoabs15
? split / pop działa znacznie lepiej dla różnych długości ...Możesz użyć metody substr () z ujemną pozycją początkową, aby pobrać ostatnie n znaków. Na przykład dostaje to ostatnie 5:
źródło
Uzyskanie ostatniego znaku jest łatwe, ponieważ możesz traktować ciągi jako tablicę:
Aby uzyskać sekcję ciągu, możesz użyć funkcji substr lub funkcji substring :
Różnica między
substr
isubstring
to, jak traktowany jest drugi (opcjonalny) parametr. Wsubstr
to liczba znaków z indeksu (pierwszy parametr). Wsubstring
, to indeks gdzie krojenie postać powinna kończyć.źródło
Poniższy skrypt pokazuje wynik uzyskiwania ostatnich 5 znaków i ostatniego 1 znaku w ciągu za pomocą JavaScript:
Wynik :
źródło
Sprawdź funkcję podciągania .
Aby uzyskać ostatnią postać:
źródło
Nie ma potrzeby używania
substr
metody, aby uzyskać pojedynczy znak ciągu!na przykładzie Jamona Holmgrena możemy zmienić metodę substr i po prostu określić pozycję tablicy:
źródło
Funkcja Substr pozwala na użycie minusa, aby uzyskać ostatni znak.
Jest bardzo elastyczny. Na przykład:
źródło
Jednym ze sposobów byłoby użycie
slice
, na przykład:więc wartość
temp
będzie"Tabs1"
.źródło
Jeśli chcesz tylko ostatni znak lub dowolny znak w znanej pozycji, możesz po prostu wyciąć ciąg znaków jako tablicę! - ciągi są iterowalne w javascript -
Jednak jeśli potrzebujesz więcej niż jednej postaci, użycie splajnu jest skuteczne
Jeśli chodzi o twój przykład
Aby wyodrębnić identyfikator, możesz łatwo użyć split + pop
Spowoduje to zwrócenie identyfikatora lub niezdefiniowanie, jeśli po „rating_element” nie będzie żadnego identyfikatora :)
źródło
Zakładając, że porównasz podłańcuch z końcem innego łańcucha i użyjesz wyniku jako wartości logicznej, możesz rozszerzyć klasę String, aby to osiągnąć:
Umożliwiając wykonanie następujących czynności:
źródło
Znalazłem to pytanie i dzięki niektórym badaniom odkryłem, że jest to najłatwiejszy sposób na uzyskanie ostatniej postaci.
Jak inni wspominali i dodali dla kompletności, aby uzyskać ostatnie 5:
źródło
Ten usunie przecinek, jeśli jest to ostatni znak w ciągu.
źródło
Właściwie mam następujący problem i oto jak go rozwiązałem za pomocą powyższej odpowiedzi, ale inne podejście w wydobywaniu id z elementu wejściowego.
Dołączyłem dane wejściowe złożone w
Po kliknięciu tego przycisku chcę wyodrębnić tylko identyfikator (czyli liczbę) lub identyfikator php ($ id) .
Więc tutaj co robię.
źródło
Ostatnie 5
Ostatni, ubiegły, zeszły
źródło
charAt
nasubstr
. TocharAt
zajmuje piąte miejsce od ostatniego .Jestem pewien, że to zadziała ....
Wartość
extension
będzie".pdf"
źródło