如何以不区分大小写的方式查找和替换部分字符串?

时间:2011-08-13 22:21:02

标签: javascript jquery html string replace

我有这样的simple example.我想替换add ann.c中的文字,就像我在add Ann.c中替换它一样。如何用jQuery做到这一点?

Here我是如何做到的:$("#tags").val().replace(dictionary[j]['name'].toLowerCase(), dictionary[j]['realvalue']);很抱歉打扰...但是我们非常欢迎任何更优化的解决方案。

3 个答案:

答案 0 :(得分:3)

String.replace()与设置了i(不区分大小写)标记的regexp对象一起使用。

您可以安全地从escape that string first提供的任意字符串构建正则表达式对象。

答案 1 :(得分:2)

$("#tags").val().toLowerCase(); // will convert all uppercase characters to lowercase ones

然后它寻找例如ann.c所以你需要改变对象:

var dictionary = jQuery.parseJSON('[ { "name": "ann.c",  "realvalue": "./34534j435345j3b3"  }, {   "name": "ann.h",   "realvalue": "./333dfsdGjh45j3b5" }]');

顺便说一下:

var dictionary = [ { "name": "ann.c",  "realvalue": "./34534j435345j3b3" },
                   { "name": "ann.h",  "realvalue": "./333dfsdGjh45j3b5" } ];

http://jsfiddle.net/pimvdb/uDdbq/18/

答案 2 :(得分:1)

var text = $("#tags").val().replace(RegExp(dictionary[j]['name'],"i"), dictionary[j]['realvalue']);

您可以将字符串转换为正则表达式并添加不区分大小写。