275 votes

Comment puis-je remplacer une chaîne de caractères en JavaScript pour convertir '9.61' en '9:61' ?

Étant donné la ligne de code

var value = $("#text").val();

et value = 9.61 J'ai besoin de convertir 9.61 a 9:61 . Comment puis-je utiliser la fonction de remplacement JavaScript ici ?

539voto

Reigel Points 34008

Faites comme ça :

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);

Mis à jour pour refléter la version actuelle de jQuery. Et il y a aussi beaucoup de réponses ici qui conviendraient le mieux à une situation identique à celle-ci. En tant que développeur, vous devez savoir lesquelles.

Remplacer toutes les occurrences

Pour remplacer plusieurs caractères à la fois, utilisez quelque chose comme ceci : name.replace(/&/g, "-") . Ici, je remplace tous les & les caractères avec - . g signifie "mondial".

Note - vous devrez peut-être ajouter des crochets pour éviter une erreur - title.replace(/[+]/g, " ")

crédits vissu et Dante Cullari

67voto

cletus Points 276888

La façon la plus élégante de procéder est sans doute de le faire en une seule étape. Voir val() .

$("#text").val(function(i, val) {
  return val.replace('.', ':');
});

par rapport à :

var val = $("#text").val();
$("#text").val(val.replace('.', ':'));

Dans la documentation :

.val( function(index, value) )

function(index, value)Une fonction qui renvoie la valeur à définir.

Cette méthode est généralement utilisée pour définir les valeurs des champs de formulaire. Pour <select multiple="multiple"> éléments, plusieurs s peuvent être sélectionnés en passant dans un tableau.

El .val() nous permet de définir la valeur en passant dans une fonction. Comme de jQuery 1.4, la fonction reçoit deux arguments deux arguments, l'index de l'élément actuel de l'élément courant et sa valeur courante :

$('input:text.items').val(function(index, value) {
  return value + ' ' + this.className;
});

Cet exemple ajoute la chaîne " items" aux valeurs des entrées de texte.

Cela nécessite jQuery 1.4+.

41voto

bogonko Points 2074

J'aime jQuery Le chaînage des méthodes de l'entreprise. Il suffit de faire...

    var value = $("#text").val().replace('.',':');

    //Or if you want to return the value:
    return $("#text").val().replace('.',':');

19voto

VIDesignz Points 2458

Une simple phrase :

$("#text").val( $("#text").val().replace(".", ":") );

6voto

Anders Eriksson Points 357

Cela peut être fait avec la fonction JavaScript ordinaire replace() .

value.replace(".", ":");

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X