Reputation: 313
How to check a valid domain name
and username
with regular expression in JavaScript?
function validate()
{
var patt1=new RegExp(/^[a-zA-Z0-9._-]+\\[a-zA-Z0-9.-]$/);
var text= document.getElementById('text1').value;
alert(patt1.test(text));
}
But it does not work for me.
Upvotes: 11
Views: 41781
Reputation: 203
Use this:
<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>
Upvotes: 5
Reputation: 2039
This code support sub-domains too:
^(([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,}$
Upvotes: -1
Reputation: 313
function CheckIsValidDomain(domain) {
var re = new RegExp(/^((?:(?:(?:\w[\.\-\+]?)*)\w)+)((?:(?:(?:\w[\.\-\+]?){0,62})\w)+)\.(\w{2,6})$/);
return domain.match(re);
}
try this its work for me.
Upvotes: 17
Reputation: 981
check this: 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
Upvotes: 1
Reputation: 664185
Don't mix up the RegExp
constructor with regex literals. Use either
/^[a-zA-Z0-9._-]+\\[a-zA-Z0-9.-]$/
or
new RegExp("^[a-zA-Z0-9._-]+\\\\[a-zA-Z0-9.-]$");
Not sure what the backslash does in there, btw. Did you want to match a dot? In literal, use \.
, in string use \\.
.
Upvotes: 5