php - 域名的简单正则表达式

标签 php regex dns

如何确保域名符合这 3 个简单标准:

  • 以 .com/.net 结尾

不能以开头

  • http://或 https://
  • http://www.或 https://www.

我已经设法理解了与第一个条件相对应的正则表达式的这一部分:

/.*(\.com|\.net)$/

但我不知道如何实现其他 2 个条件来制作独特的正则表达式。

感谢您的帮助。

最佳答案

“不开始”模式有点棘手。

最清晰的方法是使用两个独立的正则表达式,一个匹配你想要的,一个不匹配你不想要的。

但是你可以在一个消极的前瞻中做到这一点:

/^(?!https?:\/\/(www\.)?).*(\.com|\.net)$/

编辑:更正 ridgerunner 指出的断言

关于php - 域名的简单正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7742010/

相关文章:

php - 如何在外部域中使用 jQuery AJAX?

regex - html标签外匹配数据的问题

windows - 通过组策略添加管理员

asp.net-mvc - 如何在 SAAS 解决方案 (Windows Azure) 中配置自定义域?

php - 如果他们更改了 PHP 密码库中的 PASSWORD_DEFAULT 会怎样?

php - 如何使用 preg_replace regEx 将整个 div 替换为另一个

javascript - 正则表达式需要将字符串拆分为 "."

regex - 匹配换行符,除非它以分号结尾

nginx - 为什么我在访问域时收到 400 Bad Request 错误?

javascript - 为字母表中的所有字母创建链接