The code below kinda works except yes.com is shown as valid while I need to accept only this format ns1.yes.com, www.yes.com, accepting numbers and no dash or dot at the front or at the end of nameserver. Help me please.
<html>
<head>
<title>Validate name server</title>
<script type="text/javascript">
function validSubdomain() {
var re = /^[a-zA-Z0-9][a-zA-Z0-9.-]+[a-zA-Z0-9]$/;
var val = document.getElementById("nameserver").value;
if(val == ''){
alert("Please enter the name server");
return false;
}
if(re.test(val)) {
alert("valid format");
}
if(!re.test(val)) {
alert("invalid format");
}
}
</script>
</head>
<body>
Insert nameserver : <input name="txt_domain" id="nameserver" type="text" size="30" /> <input name="btn_validate" type="button" value="Validate" onclick="validSubdomain()" />
</body>
</html>
Demo page: http://khamis.cheapantivirus.me/
Split the value by dots and count the resulting parts.