I have the following regex options:

```
let emailValid = "/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*$/"
    emailValid = "^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$"
    emailValid = `/^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/`
    emailValid =  "/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/"

```

And none are able to consistently reject `@somethingcouk` while accepting `@something.co.uk`

The advice given here is just plain wrong <https://www.w3resource.com/javascript/form/email-validation.php>

It suggests `/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/` which, according to them, should accept `mysite@you.me.net`, but in my case it does not accept `something@yahoo.co.uk`.

I'd like not to spend 3 days learning the regex to do this, when various tutorials and stack overflow answers are already given. What am I doing wrong here?

Does inputting these as a variable, without using `match()`, as some places suggest, affect the functionality?