I need a (php) regex to match Yahoo's username rules:
Use 4 to 32 characters and start with a letter. You may use letters, numbers, underscores, and one dot (.).
I need a (php) regex to match Yahoo's username rules:
Use 4 to 32 characters and start with a letter. You may use letters, numbers, underscores, and one dot (.).
A one dot limit? That's tricky.
I'm no regex expert, but I think this would get it, except for that:
[A-Za-z][A-Za-z0-9_.]{3,31}
Maybe you could check for the . requirement separately?
/[a-zA-Z][a-zA-Z0-9_]*\.?[a-zA-Z0-9_]*/
And check if strlen($username) >= 4 and <= 32.
Using lookaheads you could do the following:
^(?=[A-Za-z](?:\w*(?:\.\w*)?$))(\S{4,32})$
Because you didn't specify what type of regex you needed I added a lot of Perl 5 compatible stuff. Like (?: ... )
for non-capturing parens.
Note: I added the missing close paren back in.