Reputation: 1566
I'm trying to replace all dots found in a value entered by the user in an HTML form. For instance I need the entry '8.30' to be converted to '8x30'.
I have this simple code:
var value = $(this).val().trim(); // get the value from the form
value += ''; // force value to string
value.replace('.', 'x');
But it doesn't work. Using the console.log command in Firebug, I can see that the replace command simply does not occur. '8.30' remains the same.
I also tried the following regexp with no better result:
value.replace(/\./g, 'x');
What am I doing wrong here?
Upvotes: 23
Views: 29625
Reputation: 11864
You have three solutions:
var text= "ABC.DEF.XYZ";
response = text.replace(/\./g,'x');
var text= "ABC.DEF.XYZ";
response = text.replace(new RegExp("\\.","gm"),"x");
var text= "ABC.DEF.XYZ";
response = text.split('.').join('x');
Upvotes: 4
Reputation: 170148
replace
returns a string. Try:
value = value.replace('.', 'x'); //
// or
value = value.replace(/\./g, 'x'); // replaces all '.'
Upvotes: 43