Apa yang akan menjadi cara terbersih untuk melakukan ini yang akan bekerja di IE dan firefox.
Tali saya terlihat seperti ini: sometext-20202
Sekarang 'somethingext' dan integer setelah dasbor dapat memiliki panjang yang bervariasi.
Haruskah saya hanya menggunakan substring dan indeks atau cara lain?
javascript
mrblah
sumber
sumber
sometext-20202-303
?get everything after the dash in a string in javascript
yang, dalam hal ini, akan gagal.Solusi yang saya sukai adalah:
Di mana
slug
hasil Andasumber
sumber
sumber
AFAIK, keduanya
substring()
danindexOf()
didukung oleh Mozilla dan IE. Namun, perhatikan bahwa substr () mungkin tidak didukung pada versi sebelumnya dari beberapa browser (khususnya Netscape / Opera).Posting Anda menunjukkan bahwa Anda sudah tahu cara melakukannya menggunakan
substring()
danindexOf()
, jadi saya tidak memposting sampel kode.sumber
Anda dapat melakukannya dengan built-in RegExp (pattern [, flags)) Notasi Pabrik di js seperti ini:
dalam fungsi kode exec di atas akan mengembalikan array dengan dua elemen (["-20202", "20202"]) satu dengan tanda hubung (-20202) dan satu tanpa tanda hubung (20202), Anda harus memilih elemen kedua (indeks 1)
sumber
sumber
myString.split('-').splice(-1).join('-')
Gunakan ekspresi reguler dari formulir: \ w- \ d + di mana a \ w mewakili kata dan \ d mewakili angka. Mereka tidak akan bekerja di luar kotak, jadi main-main. Coba ini .
sumber