相关疑难解决方法(0)

什么是正则表达式,它将匹配没有子域的有效域名?

首先抱歉第10,000次RegEx问题,

我意识到还有其他与域相关的问题,但正则表达式要么不正常,要么太复杂,要么对于具有子域,协议和文件路径的URL.

我更简单,我需要验证一个域名:

google.com

stackoverflow.com

所以这是一个最新形式的域名 - 甚至不是像www这样的子域名.

  1. 字符应该只是az | AZ | 0-9句点(.)和短划线( - )
  2. 域名部分不应以短划线( - )开头或结尾(例如-google-.com)
  3. 域名部分的长度应介于1到63个字符之间
  4. 扩展(TLD)现在可以是#1规则下的任何内容,我可以稍后对列表进行验证,但它应该是1个或更多字符

编辑:TLD显然是2-6个字符

没有.4修订版: TLD实际上应该被标记为"子域名",因为它应该包含像.co.uk这样的东西 - 我想可能的唯一验证(除了检查列表之外)将是'在第一个点之后应该有一个或者规则#1下的更多角色

非常感谢,相信我,我确实尝试过!

regex validation domain-name

106
推荐指数
11
解决办法
19万
查看次数

TLD可能有多长时间?

我正在使用PHP中的电子邮件验证正则表达式,我需要知道TLD可能存在多长时间并且仍然有效.我做了一些搜索,但找不到有关该主题的更多信息.那么TLD可能需要多长时间?

php regex email-validation tld

73
推荐指数
4
解决办法
4万
查看次数

如何从URL获取域名

如何从URL字符串中获取域名?

例子:

+----------------------+------------+
| input                | output     |
+----------------------+------------+
| www.google.com       | google     |
| www.mail.yahoo.com   | mail.yahoo |
| www.mail.yahoo.co.in | mail.yahoo |
| www.abc.au.uk        | abc        |
+----------------------+------------+
Run Code Online (Sandbox Code Playgroud)

有关:

regex url

49
推荐指数
5
解决办法
9万
查看次数

如何在PHP中验证域名?

是否可以不使用正则表达式?

例如,我想检查一个字符串是否是一个有效的域:

domain-name
abcd
example
Run Code Online (Sandbox Code Playgroud)

是有效的域名.这些当然是无效的:

domaia@name
ab$%cd
Run Code Online (Sandbox Code Playgroud)

等等.所以基本上它应该以字母数字字符开头,然后可能会有更多的alnum字符加上连字符.它也必须以alnum角色结束.

如果不可能,你能建议我采用正则表达式吗?

编辑:

为什么这不起作用?我错误地使用了preg_match吗?

$domain = '@djkal';
$regexp = '/^[a-zA-Z0-9][a-zA-Z0-9\-\_]+[a-zA-Z0-9]$/';
if (false === preg_match($regexp, $domain)) {
    throw new Exception('Domain invalid');
}
Run Code Online (Sandbox Code Playgroud)

php regex domain-name

31
推荐指数
8
解决办法
9万
查看次数

我可以改进有效域名的正则表达式检查吗?

所以,我一直在研究这个域名正则表达式.到目前为止,它似乎通过SLD和TLD(使用可选的ccTLD)获取域名,但是TLD列表存在重复.这可以进一步重构吗?

params[:domain_name].downcase.strip.match(/^[a-z0-9\-]{2,63}
\.((a[cdefgilmnoqrstuwxz]|aero|arpa)|(b[abdefghijmnorstvwyz]|biz)|
(c[acdfghiklmnorsuvxyz]|cat|com|coop)|d[ejkmoz]|(e[ceghrstu]|edu)|f[ijkmor]|
(g[abdefghilmnpqrstuwy]|gov)|h[kmnrtu]|(i[delmnoqrst]|info|int)|
(j[emop]|jobs)|k[eghimnprwyz]|l[abcikrstuvy]|
(m[acdghklmnopqrstuvwxyz]|me|mil|mobi|museum)|(n[acefgilopruz]|name|net)|(om|org)|
(p[aefghklmnrstwy]|pro)|qa|r[eouw]|s[abcdeghijklmnortvyz]|
(t[cdfghjklmnoprtvwz]|travel)|u[agkmsyz]|v[aceginu]|w[fs]|y[etu]|z[amw])
(\.((a[cdefgilmnoqrstuwxz]|aero|arpa)|(b[abdefghijmnorstvwyz]|biz)|
(c[acdfghiklmnorsuvxyz]|cat|com|coop)|d[ejkmoz]|(e[ceghrstu]|edu)|f[ijkmor]|
(g[abdefghilmnpqrstuwy]|gov)|h[kmnrtu]|(i[delmnoqrst]|info|int)|
(j[emop]|jobs)|k[eghimnprwyz]|l[abcikrstuvy]|
m[acdghklmnopqrstuvwxyz]|mil|mobi|museum)|
(n[acefgilopruz]|name|net)|(om|org)|
(p[aefghklmnrstwy]|pro)|qa|r[eouw]|s[abcdeghijklmnortvyz]|
(t[cdfghjklmnoprtvwz]|travel)|u[agkmsyz]|v[aceginu]|w[fs]|y[etu]|z[amw]))?$/)
Run Code Online (Sandbox Code Playgroud)

regex dns whois

6
推荐指数
1
解决办法
2万
查看次数

标签 统计

regex ×5

domain-name ×2

php ×2

dns ×1

email-validation ×1

tld ×1

url ×1

validation ×1

whois ×1