use this java script then if user enter wrong date then it will not enter alphabet in this text box. if you like this whole js then mark it as answer.
var prevlu;
var invl;
function rtrim(vlu)
{
var i,j;
var str="";
var ch;
for(i=0;i<vlu.length;i++)
{
ch=vlu.substring(i,i+1);
if(ch!=" ")
{
if(ch>=0 || ch<=9 || ch=="/" ) str= str + ch;
}
}
return str;
}
function beforeenter(txtb)
{
try
{
var dtbox=document.getElementById(txtb);
if(event.keyCode==9) return;
if(event.keyCode==13) return;
if(event.keyCode==8) return;
dtbox.value=rtrim(dtbox.value);
if(dtbox.value.length==10)
dtbox.select();
prevlu=dtbox.value;
if(dtbox.value.length==1 && (event.keyCode==111 || event.keyCode==109 || event.keyCode==191 || event.keyCode==189))
{
dtbox.value= "0" + dtbox.value;
}
if(dtbox.value.length==2 && event.keyCode!=8)
{
dtbox.value=dtbox.value + "/";
}
if(dtbox.value.length==4 && (event.keyCode==111 || event.keyCode==109 || event.keyCode==191 || event.keyCode==189))
{
var dt=dtbox.value.split("/")
dtbox.value= dt[0] + "/0" + dt[1];
}
if(dtbox.value.length==5 && event.keyCode!=8)
{
dtbox.value=dtbox.value + "/";
}
if(dtbox.value.length==0 && event.keyCode!=8 && ((event.keyCode>=52 && event.keyCode<=57) || (event.keyCode>=100 && event.keyCode<=105) ))
{
dtbox.value=dtbox.value + "0";
}
if(dtbox.value.length==3 && event.keyCode!=8 && ((event.keyCode>=52 && event.keyCode<=57) || (event.keyCode>=100 && event.keyCode<=105) ))
{
dtbox.value=dtbox.value + "0";
}
if(dtbox.value.length==6 && event.keyCode!=8 && event.keyCode==25)
{
dtbox.value=dtbox.value + "20";
}
invl="F"
var len=dtbox.value.length;
var ky=event.keyCode;
if(len==0 || len==1 || len==3 || len==4 || len==6 || len==7 || len==8 || len==9 || len==10)
{
if((ky<48 || ky>57) && (ky <96 || ky>105) && ky!=8 && ky!=17 && ky!=16 )
{
event.keyCode=0;
dtbox.value=prevlu;
invl="T"
}
}
}
catch (e)
{
dtbox.value='';
}
}
function isValidDate(dt)
{
try
{
var myDt=Date.parse(dt)
if(myDt=='NaN')
{
return false;
}
else
{
var bol;
if(dt.length==11)
bol=datevalidation(dt,1)
else
bol=datevalidation(dt,0)
if(bol==true)
return true;
else
{
return false;
}
}
}
catch (e)
{
return false;
}
}
function datevalidation(dt,typ)
{
var Message="Invalid Date";
if(typ==0)
{
var dts=dt.split('/')
var m=dt[1];
}
else
{
var dts=dt.split('-')
var m=dts[1];
m=getmonthstr(m);
}
var d=dts[0];
var y=dts[2];
if(parseInt(d,10)>31 ||parseInt(m,10)>12 ||parseInt(d,10)==0||parseInt(m,10)==0||parseInt(y,10)==0)
{
alert(Message);
return false;
}
else
{
if( (parseInt(m,10)=="4"||parseInt(m,10)=="6"||parseInt(m,10)=="9"||parseInt(m,10)=="11") && parseInt(d,10)>30)
{
alert(Message);
return false;
}
else
{
if(parseInt(m,10)==2 && parseInt(d,10)>29)
{
alert("Invalid date ");
return false;
}
else
{
if(parseInt(y)%4!=0 && parseInt(d,10)==29)
{
if(parseInt(m,10)=="2")
{
alert(Message);
return false;
}
return true;
}
else
{
if(y.length==4)
{
return true;
}
}
}
}
}
return true;
}
function enterdata(txtb)
{
try
{
if(event.keyCode==9) return;
if(event.keyCode==13) return;
if(event.keyCode==8) return;
var dtbox=document.getElementById(txtb);
if (invl=="T")
{
dtbox.value=prevlu;
}
if(dtbox.value.length==2 && event.keyCode!=8)
{
if(parseInt(dtbox.value,10)>31)
{
dtbox.value=dtbox.value.substring(0,1);
}
}
if(dtbox.value.length==2 && event.keyCode!=8)
{
dtbox.value=dtbox.value + "/";
}
if(dtbox.value.length==1 && event.keyCode==111)
{
dtbox.value="0"+ dtbox.value + "/"
}
if(dtbox.value.length==4 && event.keyCode==111)
{
var dt=dtbox.value.split("/");
if(parseInt(dt[1],10)==1)
{
dtbox.value=dt[0] + "/0" + dt[1] + "/";
}
}
if(dtbox.value.length==4 && event.keyCode!=8)
{
var dt=dtbox.value.split("/");
if(parseInt(dt[1],10)>=2)
{
dtbox.value=dt[0] + "/0" + dt[1];
}
}
if(dtbox.value.length==5 && event.keyCode!=8)
{
var dt=dtbox.value.split("/");
if(parseInt(dt[1],10)>12)
{
dtbox.value=dt[0] + "/1";
}
}
if(dtbox.value.length==5 && event.keyCode!=8)
{
dtbox.value=dtbox.value + "/"
}
if(dtbox.value.length==7 )
{
var dt=dtbox.value.split("/")
if(dt[2]=="0")
{
dtbox.value= dt[0] + "/" + dt[1] + "/20" + dt[2];
}
if(dt[2]=="9" || dt[2]=="8" || dt[2]=="7")
{
dtbox.value= dt[0] + "/" + dt[1] + "/19" + dt[2];
}
}
if(dtbox.value.length==8 )
{
var dt=dtbox.value.split("/")
if(dt[2].substring(0,1)=="1" && dt[2].substring(1,2)!="9")
{
dtbox.value= dt[0] + "/" + dt[1] + "/20" + dt[2];
}
}
}
catch (e)
{
dtbox.value='';
}
}
function onenter(txtb)
{
var dtbox=document.getElementById(txtb);
dtbox.selectionStart=1;
dtbox.selectionLength=1;
dtbox.focus();
dtbox.select();
}
in .cs file use this code for setting attributes of textboxes.
protected void Page_Load(object sender, EventArgs e)
{
SetDateText(txtDate,txtDate1,txtDate2,txtDate3);
}
public void SetDateText(params TextBox[] txtDateText)
{
for (int Count = 0; Count < txtDateText.Length; Count++)
{
txtDateText[Count].Attributes.Add("onfocus", "dateonfocus('" + txtDateText[Count].ClientID + "')");
txtDateText[Count].Attributes.Add("onblur", "dateonleave('" + txtDateText[Count].ClientID + "')");
txtDateText[Count].Columns = 11;
txtDateText[Count].Attributes.Add("onkeyup", "enterdata('" + txtDateText[Count].ClientID + "')");
txtDateText[Count].Attributes.Add("onkeydown", "beforeenter('" + txtDateText[Count].ClientID + "')");
}
}