Wednesday, September 17, 2008

Fun with Javascript


Some basic validations using JavaScript


U might got tired of using server side validation which will take so much time to execute and bore the user, so here is an example of basic validations.

function Validationofusername()
{
//For User Name
var UserName=document.getElementById("<%=txtUserName.ClientID %>").value;
var UserNAmeLen=document.getElementById("<%=txtUserName.ClientID %>").value.length;
if(UserName=="")
{
alert('Enter User Name');
document.getElementById("<%=txtUserName.ClientID %>").focus();
return false;
}
if(UserName.length<4 || UserName.length>20)
{
alert('Min. Length of User Name is 4 and Max. Length 20\n Current Length='+UserNAmeLen);
document.getElementById("<%=txtUserName.ClientID %>").focus();
return false;
}
var ExpUserName=/^[A-Za-z0-9/.@-_$#%&*()]+$/;
if(!UserName.match(ExpUserName))
{
alert('UserName Contains Invalid Characters');
document.getElementById("<%=txtUserName.ClientID%>").focus();
return false;
}
}

Which will checks requiredfield validator and the length should be in the range of 4 to 20 and allows only some special characters


Writing Regular expressions

/^[A-Za-z0-9/.@-_$#%&*()]+$/;

For example take the above case

/ means start from the string

+$/ end of string

[ ] indicates allowble characters

A-Z means all uppercase

a-z all lowercase

0-9 all numerics

Then special chars whatever we want to allow

Caution:

Special chars should be given in sequence like

~!@#$%^&*()_+

Means start from the left to right

Some browsers don’t support + sign so be careful while using that


cheat for your email expression


Just add an regular expression validation and then go for email

There u can see the regular expression ,

Just ctrl+c and ctrl+v

It may look like this

var EmailExp=/^(\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*)+$/;


website url validation


var WebsiteExp=/^(http:\/\/www.|https:\/\/www.|ftp:\/\/www.|www.){1}[0-9A-Za-z\.\-]*\.[0-9A-Za-z\.\-]*$/;


Phone number

U have to allow only numerics so

Var phoneEXp=/^[0-9]+$/;


For check box validation

if(document.getElementById("<%=chkID.ClientID%>").checked==false)
{
alert('You must Accept Terms and Conditions');
document.getElementById("<%=chkChecked.ClientID%>").focus();
return false;
}


For dropdownlist validation

if(document.getElementById("<%=ddlCity.ClientID%>").selectedIndex==0)
{
alert('Select City');
document.getElementById("<%=ddlCity.ClientID%>").focus();
return false;
}


For listbox validation

if(document.getElementById("<%=lbKeySkills.ClientID%>").options[0].selected)
{
alert('Not allowed to select First option in Key Skills');
document.getElementById("<%=lbKeySkills.ClientID%>").focus();
return false;
}
var i=document.getElementById("<%=lbKeySkills.ClientID%>").options.length;

var Count=0;
for(var j=0;j {
if(document.getElementById("<%=lbKeySkills.ClientID%>").options[j].selected)
{
Count=Count+1;
}
}
if(Count>3)
{
alert('Not allowed to select more than 3 options');
document.getElementById("<%=lbKeySkills.ClientID%>").focus();
return false;
}




For date validation

if(document.getElementById("<%=txtDOB.ClientID %>").value == "")
{
alert('Please Enter Date');
document.getElementById("<%=txtDOB.ClientID %>").focus();
return false;
}
if(document.getElementById("<%=txtDOB.ClientID %>").value!="")
{
var dateStr=document.getElementById("<%=txtDOB.ClientID %>").value;
var datePat = /^(\d{1,2})(\/|-)(\d{1,2})(\/|-)(\d{4})$/;
var matchArray = dateStr.match(datePat); // is the format ok?

if (matchArray == null)
{
alert("Please enter date as either mm/dd/yyyy or mm-dd-yyyy.");
return false;
}

month = matchArray[1]; // parse date into variables
day = matchArray[3];
year = matchArray[5];

if (month < 1 || month > 12)
{ // check month range
alert("Month must be between 1 and 12.");
return false;
}

if (day < 1 || day > 31)
{
alert("Day must be between 1 and 31.");
return false;
}

if ((month==4 || month==6 || month==9 || month==11) && day==31)
{
alert("Month "+month+" doesn't have 31 days!")
return false;
}

if (month == 2)
{ // check for february 29th
var isleap = (year % 4 == 0 && (year % 100 != 0 || year % 400 == 0));
if (day > 29 || (day==29 && !isleap))
{
alert("February " + year + " doesn't have " + day + " days!");
return false;
}
}
}




To trim the string from left&right


function TrimString(inputstring) {
inputstring= inputstring.replace( /^\s+/g, "" ); // strip starting
return inputstring.replace( /\s+$/g, "" ); // strip ending
}



Making the first letter as capital of the given string



function InitialCaps(inputstring) {
inputstring= inputstring.toLowerCase();
inputstring= inputstring.substr(0, 1).toUpperCase() + theString.substring(1, inputstring.length);

var i = 0;
var j = 0;
while((j = inputstring.indexOf(" ", i)) && (j != -1)) {
inputstring= inputstring.substring(0, j + 1) + inputstring.substr(j + 1, 1).toUpperCase() + inputstring.substring(j + 2, inputstring.length);
i = j+1;
}
return inputstring;
}



Saturday, September 13, 2008

reading word content into the text box

I think may be u tried all interop combinations to read word document ,
But where everything fails is eveytime u instantiate word app a new process will be created under asp.net account but whenever we are closing the document the process wont stop that’s y a loop will be formed and whenever we are running the same application we cant instantiate another instance for wordapp

By placing this code it is working fine for me (upto now)

So have a look on this





try
{
string strfilePath = ds.Tables[0].Rows[0]["ResumePath"].ToString();

Microsoft.Office.Interop.Word.ApplicationClass WordApp = new Microsoft.Office.Interop.Word.ApplicationClass();
object nullobj = System.Reflection.Missing.Value;
object FileObj = strfilePath;
Microsoft.Office.Interop.Word.Document Doc = WordApp.Documents.Open(ref FileObj, ref nullobj, ref nullobj, ref nullobj, ref nullobj, ref nullobj, ref nullobj, ref nullobj, ref nullobj, ref nullobj, ref nullobj, ref nullobj, ref nullobj, ref nullobj, ref nullobj, ref nullobj);
Microsoft.Office.Interop.Word.Document Doc1 = WordApp.ActiveDocument;
string m_content = Doc1.Content.Text;
txtResume.Text = m_content;
Doc.Close(ref nullobj, ref nullobj, ref nullobj);
WordApp.Quit(ref nullobj, ref nullobj, ref nullobj);
WordApp = null;
Doc = null;
Process p = Process.GetCurrentProcess();

p.Close();
}
catch
{
throw;
}