jquery替换不工作

jquery替换不工作,jquery,replace,Jquery,Replace,我有两个文本框,一个叫做“标题”,一个叫做“url”。使用.blur上的jquery,我将“title”的值复制到“url”值中,并用下划线替换空格,但出于某种原因,它只替换第一个空格,而不是全部空格:代码如下: $("#title").blur(function(){ var myval = $(this).val().replace(" ", "_"); $("#url").val(myval); }); 我做错了什么 提前感谢要进行全局替换,您需要使用带有g标志

我有两个文本框,一个叫做“标题”,一个叫做“url”。使用.blur上的jquery,我将“title”的值复制到“url”值中,并用下划线替换空格,但出于某种原因,它只替换第一个空格,而不是全部空格:代码如下:

$("#title").blur(function(){
      var myval = $(this).val().replace(" ", "_");
      $("#url").val(myval);
 });
我做错了什么


提前感谢

要进行全局替换,您需要使用带有g标志的正则表达式:


在本例中,您需要使用正则表达式来查找要替换空格的字符串的所有匹配项

$("#title").blur(function(){
      var myval = $(this).val().replace(/ /g, "_");
      $("#url").val(myval);
 });

g表示全局,因此即使在第一次匹配之后,它也会继续搜索。

这是我的替换函数!我希望你会喜欢它

function myReplaceMethod(str,find,replace_with){
    while (str.indexOf(find) !== -1 ){
        from = str.indexOf(find);
        to = from + find.length;
        str = str.substr(0,from)+replace_with+str.substr(to, str.length-to);
    }
    return str;
}
使用示例:

str = myReplaceMethod(str,"example1","");  // nothing
str = myReplaceMethod(str,"example2","new text here"); //for new text
有关更多信息,请访问我的博客:

最好的方法就是用它来代替

discount = item.val().replace(",", ".");

如果您插入8,09,这将转换为8.09

Good Job@lonesomeday完美无瑕,感谢您的代码片段&neat JS
discount = item.val().replace(",", ".");