You could use this regex:
^(\w|\.)+$
Which is the same as:
^[a-zA-Z0-9_\.]+$
Here’s preview of the regex in action on regex101.com, and here’s a breakdown of it
^matches the beginning of the string(just groups the characters so a modifier can be applied\wmatches any character that isa-z,A-Z,0-9, and_. Making it the same as[a-zA-Z0-9_].|is the OR character, making it so either the match behind or in-front of it is found.\.matches literally..)ends the character group+makes it so the previous character group is matched once or more$matches the end of the string
If you wanted to disallow . and _ in the beginning and end of the username, you could use:
^[a-zA-Z0-9](\w|\.)*[a-zA-Z0-9]$
Make sure to use the :multiline => true option, to avoid errors.
4
solved username regex in rails 4 [closed]