如何在 JavaScript 中使用正则表达式valid domain name
检查和?username
function validate()
{
var patt1=new RegExp(/^[a-zA-Z0-9._-]+\\[a-zA-Z0-9.-]$/);
var text= document.getElementById('text1').value;
alert(patt1.test(text));
}
但这对我不起作用。
如何在 JavaScript 中使用正则表达式valid domain name
检查和?username
function validate()
{
var patt1=new RegExp(/^[a-zA-Z0-9._-]+\\[a-zA-Z0-9.-]$/);
var text= document.getElementById('text1').value;
alert(patt1.test(text));
}
但这对我不起作用。
function CheckIsValidDomain(domain) {
var re = new RegExp(/^((?:(?:(?:\w[\.\-\+]?)*)\w)+)((?:(?:(?:\w[\.\-\+]?){0,62})\w)+)\.(\w{2,6})$/);
return domain.match(re);
}
试试这个它对我的工作。
不要将RegExp
构造函数与正则表达式文字混淆。使用任一
/^[a-zA-Z0-9._-]+\\[a-zA-Z0-9.-]$/
或者
new RegExp("^[a-zA-Z0-9._-]+\\\\[a-zA-Z0-9.-]$");
不知道反斜杠在那里做什么,顺便说一句。你想匹配一个点吗?在字面上,使用\.
,在字符串中使用\\.
。
用这个:
<script>
function frmValidate() {
var val = document.frmDomin.name.value;
if (/^[a-zA-Z0-9][a-zA-Z0-9-]{1,61}[a-zA-Z0-9](?:\.[a-zA-Z]{2,})+$/.test(val)) {
alert("Valid Domain Name");
return true;
} else {
alert("Enter Valid Domain Name");
val.name.focus();
return false;
}
}
</script>
检查这个:http ://shauninman.com/archive/2006/05/08/validating_domain_names
/^([a-z0-9]([-a-z0-9]*[a-z0-9])?\\.)+((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])$/i
此代码也支持子域:
^(([a-zA-Z0-9][a-zA-Z0-9-]*[a-zA-Z0-9]|[a-zA-Z0-9])\.)*[a-zA-Z0-9][a-zA-Z0-9-]{1,61}[a-zA-Z0-9]\.[a-zA-Z]{2,}$