我如何做字符串替换在JavaScript转换' 9.61 '到' 9:61 ' ?

给定代码行

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

value = 9.61,我需要将9.61转换为9:61。如何使用JavaScript替换函数在这里?

760198 次浏览

这样做:

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和Dante Cullari

最优雅的方法可能是一步完成。看到val()

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

相比:

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

从文档中可以看出:

.val( function(index, value) )
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+。

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

或者如果你的9.61已经是一个字符串:

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

它可以用常规的JavaScript函数replace()来完成。

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

我喜欢jQuery的方法链接。简单地做……

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


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

简单的一句话:

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

你可以使用JavaScript函数,比如replace,你可以用括号括住jQuery代码:

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