Help with Javascript Function (Case Sensitive)

I have some code that prevents emails being entered into a web based application with certain domains.
It works if the emails are entered as defined, however it is case sensitive and emails can be entered by capitalising any of the letters

////////////////////Helper Functions Start/////////////////////// 

function emailvalidation(x,y) 

{ 
if (x.length>0) 
{ 
apos=x.indexOf("@"); 
dotpos=x.lastIndexOf("."); 
lastpos=x.length-1; 

if (apos<1 || dotpos-apos<2 || lastpos-dotpos>3 || lastpos-dotpos<2 || x.replace("@msn.", "").length < x.length || x.replace("@gmail.", "").length < x.length || x.replace("@hotmail.", "").length < x.length || x.replace("@yahoo.", "").length < x.length) 

{ 
Valid = false; 

ErrorStr = CRM.GetTrans("colnames",y)+ " ["+x+"] "+ CRM.GetTrans("GenCaptions","BadEmailInternal"); 
} 
} 
} 

/////////////////////Helper Functions End/////////////////////// 


function InsertRecord() 


{ 

// Handle insert record actions here 

emailvalidation(FormValues("emai_emailaddress"),"emai_emailaddress"); 

} 

Open in new window


So if the user enters me@Yahoo.com, its not working.
Is it easy to modify the code to disregards casing?

Cheers in advance,
MimUKAsked:
Who is Participating?
 
Peter KwanConnect With a Mentor Analyst ProgrammerCommented:
You may use toLowerCase in this case. For example,

x.toLowerCase().replace("@msn.", "").length < x.length
0
 
ingriTCommented:
try this:

apos=x.indexOf("@"); 
dotpos=x.lastIndexOf("."); 
lastpos=x.length-1;

// INSERT THIS LINE
x = x.toLowerCase();

Open in new window


e-mail isn't case sensitive, so it shouldn't be an issue.
0
 
ProculopsisCommented:


//Try this instead:

if (apos<1 || dotpos-apos<2 || lastpos-dotpos>3 || lastpos-dotpos<2 || x.match( /@(msn|gmail|hotmail|yahoo)\./i ) != null )
0
 
ZvonkoSystems architectCommented:
Here the complete Helper function:
function emailvalidation(x,y) { 
  if (x.length>0){
    if(!(x.replace(/\@(msn|gmail|hotmail|yahoo)\./mi,"").match(/^\w+([\.\-]\w+)*\@\w+([\.\-]\w+)*\.[a-z]{2,4}$/i))){ 
      Valid = false; 
      ErrorStr = CRM.GetTrans("colnames",y)+ " ["+x+"] "+ CRM.GetTrans("GenCaptions","BadEmailInternal"); 
    }
  } 
} 

Open in new window

0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.