Jaki byłby najczystszy sposób na zrobienie tego, który działałby zarówno w przeglądarce IE, jak i Firefox.
Mój ciąg wygląda tak: coś, co jest-20202
Teraz „tekst” i liczba całkowita po myślniku mogą mieć różną długość.
Czy powinienem po prostu użyć podciągu i indeksu, czy jest na inne sposoby?
javascript
mrblah
źródło
źródło
sometext-20202-303
?get everything after the dash in a string in javascript
które w tym przypadku zakończy się niepowodzeniem.Preferowanym przeze mnie rozwiązaniem byłoby:
Gdzie
slug
byłby twój wynikźródło
źródło
źródło
AFAIK, oba
substring()
iindexOf()
są obsługiwane przez Mozillę i IE. Należy jednak pamiętać, że funkcja substr () może nie być obsługiwana we wcześniejszych wersjach niektórych przeglądarek (szczególnie Netscape / Opera).Twój post wskazuje, że już wiesz, jak to zrobić za pomocą
substring()
iindexOf()
, więc nie wysyłam próbki kodu.źródło
Możesz to zrobić za pomocą wbudowanego RegExp (wzorzec [, flagi]) Notacja fabryczna w js w następujący sposób:
w powyższym kodzie funkcja exec zwróci tablicę z dwoma elementami (["-20202", "20202"]) jednym z łącznikiem (-20202) i jednym bez łącznika (20202), należy wybrać drugi element (indeks 1)
źródło
źródło
myString.split('-').splice(-1).join('-')
Użyj wyrażenia regularnego w postaci: \ w- \ d +, gdzie a \ w oznacza słowo, a \ d oznacza cyfrę. Nie będą działać po wyjęciu z pudełka, więc pobaw się. Spróbuj tego .
źródło