I'm using this regular expression to test if a username is valid:
[A-Za-z0-9 _]{3,12}
when I test it for matches in a text editor with the string test'ing
, it highlights 'test' and 'ing', but when I use the following code in PHP:
if(!preg_match('/[A-Za-z0-9 _]{3,12}/', $content)
where $content is test'ing
and it should return FALSE, it still returns true.
Is there something wrong with my regular expression? I need:
- Minimum length 3, max 12
{3,12}
- No spaces/underscores in front or after the string, and no spaces/underscores in a row anywhere (I'm using additional checks for this because I'm not very good with regex)
- Only alphanumerics, spaces and underscores allowed
[A-Za-z0-9 _]
Thanks in advance...