The following code uses:
FormValidation.html
<html>
<head>
<title>Consultation Form</title>
<script type=“text/javascript” language=“javascript”>
var regx_name=/^[A-Za-z]{2,30}$/,
regx_number=/^[0-9]{10}$/,
regx_mail=/^[a-zA-Z]+(([\'\,\.\- ][a-zA-Z ])?[a-zA-Z]*)*\s+<(\w[-._\w]*\w@\w[-._\w]*\w\.\w{2,3})>$|^(\w[-._\w]*\w@\w[-._\w]*\w\.\w{2,3})$/;
window.onload = function()
{
//onload delegating event
var inputTag=document.getElementsByTagName(“input”),
form=document.getElementById(“getDetails”);
form.onsubmit=validate;
for(var i=0;i<inputTag.length;i++)
{
inputTag[i].onfocus=clearInfo;
inputTag[i].onblur=showInfo;
}
}
function showInfo()
{
var info=document.getElementById(“info”);
info.innerHTML="";
switch(this.name)
{
case “firstName”:
if(!validName(this.value)) this.value=“First Name”;
break;
case “lastName”:
if(!validName(this.value)) this.value=“Last Name”;
break;
case “countryCode”:
break;
case “mobileNumber”:
if(!validNumber(this.value)) this.value=“Mobile Number”;
break;
case “mailId”:
if(!validMail(this.value)) this.value=“Mail-ID”;
break;
default:
break;
}
}
function clearInfo()
{
var info=document.getElementById(“info”);
switch(this.value)
{
case “First Name”:
this.value="";
info.innerHTML=“Enter your firstname.Only alphabets allowed.";
break;
case “Last Name”:
info.innerHTML=“Enter your lastname.Only alphabets allowed.";
this.value="";
break;
case “Mobile Number”:
info.innerHTML=“Enter your mobile number.It should be 10-digits.";
this.value="";
break;
case “Mail-ID”:
info.innerHTML=“Enter a valid mail-id.";
this.value="";
break;
default:
break;
}
}
function validate()
{
var fname=document.getElementById(“firstName”).value,
lname=document.getElementById(“lastName”).value,
mnumber=document.getElementById(“mobileNumber”).value,
mailID=document.getElementById(“mailId”).value;
if(validName(fname) && validName(lname) && validNumber(mnumber) && validMail(mailID))
return true;
return false;
}
function validName(name)
{
return regx_name.test(name);
}
function validNumber(number)
{
return regx_number.test(number);
}
function validMail(mailID)
{
return regx_mail.test(mailID);
}
</script>
</head>
<body>
<div id=“container”>
<div id=“info”></div>
<form name=“getDetails” id=“getDetails” method=“GET” action=“action_here”>
<input type=“text” name=“firstName” id=“firstName” value=“First Name”/>
<input type=“text” name=“lastName” id=“lastName” value=“Last Name”/>
<input type=“text” name=“countryCode” id=“countryCode” disabled=“disabled” value="+91”/>
<input type=“text” name=“mobileNumber” id=“mobileNumber” value=“Mobile Number”/>
<input type=“text” name=“mailId” id=“mailId” value=“Mail-ID”/>
<button>Get my FREE consultation!</button>
</form>
</div>
</body>
</html>
Screen shot:
Click here for demo.
you can also download source.
regex pattern /^[A-Za-z]{2,30}$/ find valid name.
^ indicates begining of string
[A-Za-z] it matches only albhabets,A-Z indicates match all capital letters,a-z indicates match all small letters
{2,30} indicates minimum string length 2 , maximum string length 30
$ indicates end of string
regex pattern /^[0-9]{10}$/ find valid mobile number.
^ indicates begining of string
[0-9] it matches only numberics,0-9 indicates match all numbers
{10} indicates string length should exactly 10
$ indicates end of string
regex pattern /^[a-zA-Z]+(([\'\,\.\- ][a-zA-Z ])?[a-zA-Z]*)*\s+<(\w[-._\w]*\w@\w[-._\w]*\w\.\w{2,3})>$|^(\w[-._\w]*\w@\w[-._\w]*\w\.\w{2,3})$/ find valid mail address.
Anonymous function called window.onload=function(){}-it delegate clearInfo(),showInfo() to all input tag's onFocus,onblur respectively.
"form.onsubmit=validate;" - it binds validate() with form's onsubmit event.

No comments:
Post a Comment