用于查找和替换文本的Javascript

时间:2013-01-05 00:56:51

标签: javascript google-chrome

我正在为Google Chrome进行扩展,我希望能够找到某些文本,并使用javascript将其替换为随机字母或数字,除非某些文本是用户输入的变量,例如他们输入的单词狗和所有说出狗被发现和替换的单词,如前所述。非常想要帮助

2 个答案:

答案 0 :(得分:3)

尝试使用JavaScript的.replace()方法。 假设您有一个这样的div来包含文本:<div id="test">Original Text</div>,请使用此JavaScript代码:

var orignalstring = document.getElementById("test").innerHTML;
var newstring = orignalstring.replace("original","replaced");
document.getElementById("test").innerHTML = newstring;

基本上,这将识别整个div的整个内容,然后找到某些文本并替换这些术语,就像你问的那样。如果要在一个命令中替换多个字符串,请尝试以下操作:How to replace multiple strings with the .replace() Method?。这是几个星期前我就.replace()提出的一个问题。

另外,试试这个JSFiddle:http://jsfiddle.net/tGMaN/

如果您希望用户能够定义要替换的文本和替换文本,您可以通过文本字段或提示框轻松执行此操作,并且这些值可以存储为{{{}中调用的变量1}}方法。

答案 1 :(得分:2)

String对象有很多有用的方法。

var theNewString = theString.replace(findThis, replaceWithThis);

https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/String/replace

// Generates a string of random letters
function generateRandomKey(number) {
    var key = String();
    var values = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
    for(var i = 0; i < number; i++) {
        key += values.charAt(Math.floor(Math.random() * values.length));
    }
    return key;
}