I have a Regex to allow alphanumeric, underscore and dots but not consecutive dots:
^(?!.*?[.]{2})[a-zA-Z0-9_.]+$
I also need to now allow
Re-write the regex as
^[a-zA-Z0-9_]+(?:\.[a-zA-Z0-9_]+)*$
or (in case your regex flavor is ECMAScript compliant where \w
= [a-zA-Z0-9_]
):
^\w+(?:\.\w+)*$
See the regex demo
Details:
^
- start of string[a-zA-Z0-9_]+
- 1 or more word chars (?:\.[a-zA-Z0-9_]+)*
- zero or more sequences of:
\.
- a dot[a-zA-Z0-9_]+
- 1 or more word chars$
- end of stringYou can try this:
^(?!.*\.\.)[A-Za-z0-9_.]+$
This will not allow any consecutive dots in the string and will also allow dot as first and last character
Tried here
You can use it like this with additional lookaheads:
^(?!\.)(?!.*\.$)(?!.*?\.\.)[a-zA-Z0-9_.]+$
(?!\.)
- don't allow .
at start(?!.*?\.\.)
- don't allow 2 consecutive dots (?!.*\.$)
- don't allow .
at end