Qual seria a maneira mais limpa de fazer isso que funcionaria no IE e no Firefox.
Minha string fica assim: sometext-20202
Agora, o 'sometext' e o número inteiro após o traço podem ter diferentes tamanhos.
Devo apenas usar substring e índice de ou são as outras maneiras?
javascript
mrblah
fonte
fonte
sometext-20202-303
?get everything after the dash in a string in javascript
que, neste caso, falharia.Uma solução que eu prefiro seria:
Onde
slug
seria o seu resultadofonte
fonte
fonte
AFAIK, ambos
substring()
eindexOf()
são suportados pelo Mozilla e IE. No entanto, observe que substr () pode não ser suportado em versões anteriores de alguns navegadores (especialmente Netscape / Opera).Sua postagem indica que você já sabe como fazê-lo usando
substring()
eindexOf()
, portanto, não estou postando uma amostra de código.fonte
Você pode fazer isso com RegExp interno (padrão [, flags]) Factory Notation em js como este:
na função code exec acima, retornará uma matriz com dois elementos (["-20202", "20202"]), um com hífen (-20202) e outro sem hífen (20202); você deve escolher o segundo elemento (índice 1)
fonte
fonte
myString.split('-').splice(-1).join('-')
Use uma expressão regular do formato: \ w- \ d + em que a \ w representa uma palavra e \ d representa um dígito. Eles não funcionarão imediatamente, então brinque. Tente isso .
fonte