Как выполнить замену строки в JavaScript для преобразования "9.61 в" 9:61?

С учетом строки кода

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

и value = 9.61, мне нужно преобразовать 9.61 в 9:61. Как я могу использовать функцию замены JavaScript здесь?

Ответ 1

Сделайте это так:

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

Обновлен, чтобы отразить текущую версию jQuery. А также есть много ответов здесь, которые лучше всего подходят для любой ситуации, такой как это. Вы, как разработчик, должны знать, что есть.

Заменить все вхождения

Для замены нескольких символов одновременно используйте что-то вроде этого: name.replace(/&/g, "-"). Здесь я заменяю все символы & на -. g означает "глобальный"

Примечание - вам может потребоваться добавить квадратные скобки, чтобы избежать ошибки - title.replace(/[+]/g, " ")

кредиты vissu и Данте Куллари

Ответ 2

Вероятно, самый изящный способ сделать это - сделать это за один шаг. См. val().

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

по сравнению с:

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

Из документов:

.val( function(index, value) )

Функция (индекс, значение) Функция возвращая значение для установки.

Этот метод обычно используется для установки значения полей формы. Для <select multiple="multiple">элементов, несколько s могут быть выбранных путем передачи в массиве.

Метод .val() позволяет нам установить значение, передавая функцию. В виде jQuery 1.4, функция передается два аргумента, текущий элемент индекс и его текущее значение:

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

В этом примере добавлена ​​строка "пунктов" на значения текстовых входов.

Для этого требуется jQuery 1.4 +.

Ответ 3

Мне нравится jQuery цепочка методов. Просто сделайте...

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

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

Ответ 4

Простой один вкладыш:

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

Ответ 5

Это можно сделать с помощью обычной функции JavaScript replace().

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

Ответ 6

Вы можете использовать функции JavaScript, такие как replace, и можете скопировать код jQuery в скобки:

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

Ответ 7

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

Ответ 8

(9.61 + "").replace('.',':')

Или, если ваш 9.61 уже является строкой:

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