chobo2 chobo2 - 5 months ago 19
jQuery Question

Why does javascript replace only first instance when using replace?

I have this

var date = $('#Date').val();


this get the value in the textbox what would look like this

12/31/2009

Now I do this on it

var id = 'c_' + date.replace("/", '');


and the result is

c_1231/2009

It misses the last '/' I don't understand why though.

Answer

You need to set the g flag to replace globally:

date.replace(new RegExp("/", "g"), '')
// or
date.replace(/\//g, '')

Otherwise only the first occurrence will be replaced.