preg_match('/^(http:\\/\/)?(.+)\.MYDOMAIN\.com(.*)/', $url, $match)
这是我的正则表达式,用于验证必须具有子域的 URL,但如果有人使用www
而不是子域,它也会得到验证。例如:
http://shoes.en.MYDOMAIN.com/
这必须通过http://www.MYDOMAIN.com/
这必须失败
如果子域是,我如何编辑我的正则表达式以失败www
?
我认为你可以用一个否定的前瞻断言来做到这一点:(?!www\.)
它被放置在协议检查之后,检查是否没有www.
跟随开始或协议。
/^(http:\\\/\/)?(?!www\.)(.+)\.MYDOMAIN\.com(.*)/.test("www.MYDOMAIN.com")
如何首先使用您当前的解决方案验证域,然后使用第二个表达式检查 www:
(\.www\.|http:\/\/www\.|^www\.)
试试这个:测试了一点,似乎工作
preg_match('/^(http:\\/\/)?([^(www)]+)\.MYDOMAIN\.com(.*)/', $url, $match);