jennifer Jolie jennifer Jolie - 4 years ago 127
Javascript Question

Replace many values in a string based on search/replace pairs

How can replace values as array by replace in javascript.

I want done replace numbers (for example) together. how is it?

-replace whit->

-replace whit->


<script type="text/javascript">
var array = {"1":"11", "2":"22"}
var str="13332";

Answer Source

You have to create a pattern, using a RegEx, and then pass it to the .replace method.

var array = {"1":"11", "2":"22"}; // <-- Not an array btw.
// Output. Example: "1133322"
document.write( special_replace("13332", array) );

function special_replace(string_input, obj_replace_dictionary) {
    // Construct a RegEx from the dictionary
    var pattern = [];
    for (var name in obj_replace_dictionary) {
        if (obj_replace_dictionary.hasOwnProperty(name)) {
            // Escape characters
            pattern.push(name.replace(/([[^$.|?*+(){}\\])/g, '\\$1'));

    // Concatenate keys, and create a Regular expression:
    pattern = new RegExp( pattern.join('|'), 'g' );

    // Call String.replace with a regex, and function argument.
    return string_input.replace(pattern, function(match) {
        return obj_replace_dictionary[match];
Recommended from our users: Dynamic Network Monitoring from WhatsUp Gold from IPSwitch. Free Download