How to replace all occurrences of a string in JavaScript
Topic: JavaScript / jQueryPrev|Next
Answer: Use the JavaScript replace()
method
You can use the JavaScript replace()
method in combination with the regular expression to find and replace all occurrences of a word or substring inside any string.
Let's check out an example to understand how this method basically works:
Example
Try this code »<script>
var myStr = 'freedom is not worth having if it does not include the freedom to make mistakes.';
var newStr = myStr.replace(/freedom/g, "liberty");
// Printing the modified string
document.write(newStr);
</script>
However, if the string comes from unknown/untrusted sources like user inputs, you must escape it before passing it to the regular expression. The following example will show you the better way to find and replace a string with another string in JavaScript.
Example
Try this code »<script>
/* Define function for escaping user input to be treated as
a literal string within a regular expression */
function escapeRegExp(string){
return string.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
}
/* Define functin to find and replace specified term with replacement string */
function replaceAll(str, term, replacement) {
return str.replace(new RegExp(escapeRegExp(term), 'g'), replacement);
}
/* Testing our replaceAll() function */
var myStr = 'if the facts do not fit the theory, change the facts.';
var newStr = replaceAll(myStr, 'facts', 'statistics')
// Printing the modified string
document.write(newStr);
</script>
Related FAQ
Here are some more FAQ related to this topic: