I'm trying to replace all full stops in an email with an x character - for example "my.email@email.com" would become "myxemail@emailxcom". Email is set to a string.  

My problem is it's not replacing just full stops, it's replacing every character, so I just get a string of x's.  

I can get it working with just one full stop, so I'm assuming I'm wrong on the global instance part. Here's my code:

```
let re = ".";
let new = email.replace(/re/gi, "x");

```

I've also tried 

```
re = /./gi;
new = email.replace(re, "x");

```

If anyone can shed any light I'd really appreciate it, I've been stuck on this for so long and can't seem to figure out where I'm going wrong.

\*\* Edit: Whoops, my new variable was actually called newemail, keyword new wasn't causing the issue!
['https://Stackoverflow.com/questions/43310947', 'https://Stackoverflow.com', 'https://Stackoverflow.com/users/7232648/']
Your second example is the closest. The first problem is your variable name, **`new`**, which happens to be one of JavaScript's [reserved keywords](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Lexical_grammar#Keywords) (and is instead used to construct objects, like `new RegExp` or `new Set`). This means that your program will throw a Syntax Error.

Also, since the dot (`.`) is a special character inside regex grammar, you should escape it as `\.`. Otherwise you would end up with `result == "xxxxxxxxxxxxxxxxxx"`, which is undesirable.

```js
let email = "my.email@email.com"

let re = /\./gi;
let result = email.replace(re, "x");

console.log(result)
```
You can try `split()` and `join()` method that was work for me. (For normal string text)
It was short and simple to implement and understand.
Below is an example.

```
let email = "my.email@email.com";
email.split('.').join('x');

```

So, it will replace all your `.` with `x`. So, after the above example, `email` variable will have value `myxemail@gmailxcom`