s427
s427

Reputation: 1566

Replace all the dots in a number

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

Answers (2)

Stéphane GRILLON
Stéphane GRILLON

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');

DEMO in JSFIDDLE

Upvotes: 4

Bart Kiers
Bart Kiers

Reputation: 170148

replace returns a string. Try:

value = value.replace('.', 'x');   //
                                   // or
value = value.replace(/\./g, 'x'); // replaces all '.'

Upvotes: 43

Related Questions