这是我验证域名的代码。
function frmValidate() {
var val = document.frmDomin;
if (/^[a-zA-Z0-9][a-zA-Z0-9-]{1,61}[a-zA-Z0-9]\.[a-zA-Z]{2,}$/.test(val.name.value)) {
}
else {
alert("Enter Valid Domain Name");
val.name.focus();
return false;
}
}
以及
<form name="frmDomin" action="" method="post" onsubmit="return frmValidate();">
Domain Name : <input type="text" value="" id="name" name="name" />
</form>
现在我输入http://devp1.tech.in
,它警告消息。我想进入子域也。如何改变这一点?我应该不会得到警告。
5条答案
按热度按时间bpsygsoo1#
试试这个:
Demo
9rnv2umw2#
这是一个有点沉重的一面:
将匹配:
google.com
db.my-website.co.us
ftp://container-617.databases.online
many-ports.com:7777
注意:将 * 不 * 匹配
localhost
IPv4协议
192.168.3.1
127.0.0.1:3306
IPv6(部分支持)
[2001:0db8:85a3:0000:0000:8a2e:0370:7334]
[2001:db8:85a3:0:0:8a2e:370:7334]
(与之前相同)[da7a:ba5e:da7a:ba5e:da7a:ba5e:da7a:ba5e]:3306
[::1]
(本地主机环回)[::]
(未指定地址)但不支持(IPv6)
2001:db8:85a3::8a2e:370:7334]
此正则表达式不支持将IPv6地址中的连续0段折叠为“::”。(读取:不要在IPv6地址上尝试此操作)
nlejzf6q3#
我建议你读读奥莱利的指南:https://www.oreilly.com/library/view/regular-expressions-cookbook/9781449327453/ch08s15.html
尝试使用https://regex101.com/验证正则表达式的结果。
8.15.验证域名问题您想要检查字符串是否看起来像是有效的、完全合格的域名,或者在较长的文本中查找此类域名。
解决方案检查字符串是否与有效域名相似:
正则表达式选项:不区分大小写的Regex风格:. NET、Java、JavaScript、PCRE、Perl语言、Python语言
正则表达式选项:不区分大小写的Regex风格:. NET,Java,PCRE,Perl,Python,Ruby查找较长文本中的有效域名:
正则表达式选项:不区分大小写的Regex风格:. NET,Java,JavaScript,PCRE,Perl,Python,Ruby检查域的每个部分是否不超过63个字符:
正则表达式选项:不区分大小写的Regex风格:. NET,Java,JavaScript,PCRE,Perl,Python,Ruby允许使用punycode表示法的国际化域名:
正则表达式选项:不区分大小写的Regex风格:. NET,Java,JavaScript,PCRE,Perl,Python,Ruby检查域名的每个部分是否不超过63个字符,并允许使用punycode表示法的国际化域名:
正则表达式选项:不区分大小写的Regex风格:. NET、Java、JavaScript、PCRE、Perl语言、Python语言、Ruby语言
wlp8pajw4#
注意:这不会验证URL。
dm7nw8vv5#
试试这个正则表达式: