Dada a linha de código
var value = $("#text").val();
e value = 9.61
preciso converter 9.61
para 9:61
. Como posso usar a função de substituição de JavaScript aqui?
Dada a linha de código
var value = $("#text").val();
e value = 9.61
preciso converter 9.61
para 9:61
. Como posso usar a função de substituição de JavaScript aqui?
Respostas:
Faça isso deste modo:
var value = $("#text").val(); // value = 9.61 use $("#text").text() if you are not on select box...
value = value.replace(".", ":"); // value = 9:61
// can then use it as
$("#anothertext").val(value);
Atualizado para refletir a versão atual do jQuery. E também há muitas respostas aqui que se encaixariam melhor em qualquer mesma situação como essa. Você, como desenvolvedor, precisa saber qual é qual.
Para substituir vários caracteres de uma vez usar alguma coisa como esta: name.replace(/&/g, "-")
. Aqui estou substituindo todos os &
caracteres por -
. g
significa "global"
Nota - pode ser necessário adicionar colchetes para evitar um erro -title.replace(/[+]/g, " ")
créditos vissu e Dante Cullari
name.replace(/&/g, "-")
. Aqui estou substituindo todos os '&' chars por '-'. "g" significa "global".
title.replace(/[+]/g, " ")
Provavelmente, a maneira mais elegante de fazer isso é fazê-lo em uma única etapa. Veja val()
.
$("#text").val(function(i, val) {
return val.replace('.', ':');
});
comparado com:
var val = $("#text").val();
$("#text").val(val.replace('.', ':'));
Dos documentos:
.val( function(index, value) )
função (índice, valor) Uma função retornando o valor a ser definido.
Esse método geralmente é usado para definir os valores dos campos do formulário. Para
<select multiple="multiple">
elementos, vários s podem ser selecionados passando uma matriz.O
.val()
método permite definir o valor passando uma função. A partir do jQuery 1.4, a função recebe dois argumentos, o índice do elemento atual e seu valor atual:$('input:text.items').val(function(index, value) { return value + ' ' + this.className; });
Este exemplo anexa a cadeia "itens" aos valores das entradas de texto.
Isso requer o jQuery 1.4+.
var value
valor e não o valor na caixa de texto, como você sugeriu ...
Eu amo o encadeamento de métodos do jQuery . Simplesmente faça ...
var value = $("#text").val().replace('.',':');
//Or if you want to return the value:
return $("#text").val().replace('.',':');
.val()
, é uma sequência regular.
Um liner simples:
$("#text").val( $("#text").val().replace(".", ":") );
$("#text")
duas vezes não é uma boa prática ...
$("#text")
:)
Jan 27 '10 at 10:16
Isso pode ser feito com a função JavaScript regular replace()
.
value.replace(".", ":");