有没有人有一个方便的正则表达式,可以匹配任何合法的DNS主机名或IP地址?
编写一个可以在95%的时间内工作的一个很容易,但是我希望得到一些经过充分测试的东西,以完全匹配最新的RFC主机名规范.
有没有办法在JavaScript中检查字符串是否是URL?
RegExes被排除在外,因为URL最有可能写成stackoverflow; 也就是说它可能没有.com,www或者http.
我正在使用PHP中的电子邮件验证正则表达式,我需要知道TLD可能存在多长时间并且仍然有效.我做了一些搜索,但找不到有关该主题的更多信息.那么TLD可能需要多长时间?
我想要一个解决方案只验证域名不是完整的URL,以下示例是我正在寻找的:
domain.com -> true
domain.net -> true
domain.org -> true
domain.biz -> true
domain.co.uk -> true
sub.domain.com -> true
domain.com/folder -> false
domµ*$ain.com -> false
Run Code Online (Sandbox Code Playgroud)
谢谢
域名有什么具体规则吗?谷歌搜索大约一个小时,但没有获得规则列表.我已经尝试了,"domain" => "required|url"但它正在要求它中的协议类型,所以它不是我的最佳选择.
我正在使用python,并希望使用一个简单的正则表达式来检查域名的有效性。我至少检查写域名。
url = 'https://stackoverflow'
keyword = 'foo'
with self.assertRaises(ValueError):
check_keyword(url, keyword)
Run Code Online (Sandbox Code Playgroud)
我尝试在url文本字段上进行单元测试,并且在main.py页面中进行了main.py-验证
def check_keyword(网址,关键字):
if re.match("^(((([A-Za-z0-9]+){1,63}\.)|(([A-Za-z0-9]+(\-)+[A-Za-z0-9]+){1,63}\.))+){1,255}$" ,url):
return ValueError("Invalid")
Run Code Online (Sandbox Code Playgroud)
例
www.google(无效)
我需要一个正则表达式来删除网址的域名部分.例如,如果我有以下网址:
我希望正则表达式匹配的位是'website-2000'
如果你还可以解释正则表达式的每个部分如何帮助我理解它会很棒.
谢谢
我的 JavaScript 如下
function DomainValidation() {
var val = document.getElementById('<%=txtDomainName.ClientID %>').value;
if (/^[a-zA-Z0-9][a-zA-Z0-9-]{1,61}[a-zA-Z0-9](?:\.[a-zA-Z]{2,})+$/.test(val)) {
return true;
}
else {
alert("Enter Valid Domain Name");
return false;
}
}
Run Code Online (Sandbox Code Playgroud)
用于检查有效域名。它工作正常,除了当我尝试输入仅包含两个字符的域名时,它不接受。由于我不知道使用正则表达式,所以想知道我应该在哪里进行更改,以便它也接受只有两个字符的域名。
注意:- 在将其标记为重复并向我展示之前,我想告知上述脚本运行良好,但我希望它也接受仅包含两个字符的域名。
我希望我的域名不包含超过一个连续的(.)或\'/\'任何其他特殊字符。但它可以包含 IDN 字符,例如\xc3\x81, \xc5\x9b, etc... 我可以使用此正则表达式来满足所有要求(IDN 除外):
@"^(?:[a-zA-Z0-9][a-zA-Z0-9-_]*\\.)+[a-zA-Z0-9]{2,}$";\nRun Code Online (Sandbox Code Playgroud)\n\n问题是这个正则表达式也拒绝 IDN 字符。我想要一个允许 IDN 字符的正则表达式。我做了很多研究,但我无法弄清楚。
\n