web-dev-qa-db-fra.com

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

Compte tenu de la ligne de code

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

et value = 9.61, je dois convertir 9.61 en 9:61. Comment utiliser la fonction de remplacement de JavaScript ici?

274
Nisanth Kumar

Fais-le 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 qui est lequel.

Remplacer toutes les occurrences

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

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

crédits vissu et Dante Cullari

539
Reigel

La manière la plus élégante de le faire est probablement de le faire en une étape. Voir val() .

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

par rapport à:

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

De la docs:

.val( function(index, value) )

fonction (index, valeur) Fonction renvoyant la valeur à définir.

Cette méthode est généralement utilisée pour définir les valeurs des champs de formulaire. Pour les éléments <select multiple="multiple">, vous pouvez sélectionner plusieurs s en transmettant un tableau.

La méthode .val() nous permet de définir la valeur en transmettant une fonction. Depuis jQuery 1.4, la fonction reçoit deux arguments, l'index de l'élément en cours et sa valeur en cours:

$('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+.

67
cletus

J'adore la méthode de chaînage de jQuery . Faites simplement ...

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

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

Un simple paquebot:

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

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

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

Vous pouvez utiliser des fonctions JavaScript comme remplacer, et vous pouvez envelopper le code jQuery entre parenthèses:

var value = ($("#text").val()).replace(".", ":");
4
kravits88
$("#text").val(function(i,v) { 
   return v.replace(".", ":"); 
});
3
andlrc
(9.61 + "").replace('.',':')

Ou si votre 9.61 est déjà une chaîne:

"9.61".replace('.',':')
1
YOU