Eu tenho uma string em javascript como `# box2 'e só quero o' 2 '.
Tentou:
var thestring = $(this).attr('href');
var thenum = thestring.replace( /(^.+)(\w\d+\w)(.+$)/i,'$2');
alert(thenum);
Ele ainda retorna # box2 no alerta, como posso fazê-lo funcionar?
Ele precisa acomodar qualquer número de comprimento anexado no final.
javascript
string
numbers
user1022585
fonte
fonte
Respostas:
Para este exemplo específico,
no caso geral:
Como essa resposta ganhou popularidade por algum motivo, aqui está um bônus: gerador de regex.
fonte
"#box2_col3".replace( /^\D+/g, '')
deveria ter mostrado2
, não2_col3
.#box2_col3
na pergunta.#box2_col3
. Mas veja o regex OP used (\w)(.+$)
) que indica claramente que existem outros caracteres após o número.replace
trabalhar com númerostheString.replace(/^.*\D+/g, '');
iniciais usando :, mas a solução do shiplu.mokadd.im é melhor.Você deve tentar o seguinte:
resultado
fonte
parseInt(txt.match(/\d/g).join(''), 10)
" $ 20.0 ".match(/\d/g).join('')
=> "200" (apenas dizendo)Penso que esta expressão regular servirá ao seu propósito:
Onde
txt
está sua corda?Basicamente rasga tudo o que não é um dígito.
Eu acho que você pode conseguir a mesma coisa usando isso também:
fonte
/[^0-9]/g
+1 para facilitar a leitura. Também é usado com a maioria das respostas aqui: stackoverflow.com/q/1862130/1066234Tente o seguinte:
string.replace(/[^0-9]/g, '');
Isso excluirá todos os caracteres que não são dígitos, deixando apenas dígitos na stringfonte
/[^0-9]/g
pode ser substituída por/[^\d]/g
.Usando a função de correspondência.
jsfiddle
fonte
Tentei todas as combinações citadas acima com este código e o fiz funcionar, foi a única que trabalhou nessa cadeia ->
(12) 3456-7890
Resultado:
"1234567890"
Obs: eu sei que uma string como essa não estará no atributo, mas, seja como for, a solução é melhor, porque é mais completa.
fonte
str.match(/\d+/g).map(Number)
ele irá retornar um arrayE este é um trecho que extrai preços com moeda e formatação:
fonte
você pode usar o ótimo método parseInt
ele converterá os dígitos iniciais em um número
fonte
Para uma sequência como
#box2
, isso deve funcionar:jsFiddle:
fonte
Você pode usar expressão regular.
Isso alertará 2.
fonte
Com Expressões regulares , como obter números de uma String, por exemplo:
o resultado de
myString
é "24
"você pode ver um exemplo desse código em execução aqui: http://ideone.com/iOCf5G
fonte
Você pode usar a Underscore String Library da seguinte maneira
o resultado será: 1
Consulte: https://github.com/epeli/underscore.string
DEMO:
http://jsfiddle.net/abdennour/Vyqtt/
Código HTML:
Código JS:
se você tiver o sufixo da seguinte forma:
Você pode usar a próxima demonstração:
http://jsfiddle.net/abdennour/Vyqtt/1/
fonte
Aqui está um solt. que verifica se não há dados
fonte
Use este código de uma linha para obter o primeiro número em uma string sem obter erros:
fonte
verifique abaixo javaScripts, lá você pode obter apenas um número
resultado :
1234567789
fonte
Você pode extrair números de uma string usando uma expressão regex:
saída: 25933473
fonte
fonte
Esta resposta cobrirá a maior parte do cenário. Posso atravessar essa situação quando o usuário tenta copiar e colar o número de telefone
Explicação:
join converterá e concatenará esses dados da matriz em uma única sequência
fonte
}
Você pode fazer assim e então chamar a função onde precisar, com o parâmetro
fonte
Você pode fazer uma função como esta
fonte