preg_match('/^(http:\\/\/)?(.+)\.MYDOMAIN\.com(.*)/', $url, $match)
This is my regex to validate a URL that must have a sub-domain, but if someone uses www
instead of sub-domain it also gets validated. For example:
How can I edit my regex to fail if the sub-domain is www
?
I think you can do it with a negative lookahead assertion: (?!www\.)
which being placed after the protocol check, checks if there is not a www.
following the start or protocol.
/^(http:\\\/\/)?(?!www\.)(.+)\.MYDOMAIN\.com(.*)/.test("www.MYDOMAIN.com")
try this one: tested a litle, seems to be working
preg_match('/^(http:\\/\/)?([^(www)]+)\.MYDOMAIN\.com(.*)/', $url, $match);
How about first validate the domain using your current solution then check for www using a second expression:
(\.www\.|http:\/\/www\.|^www\.)