|
this is the function I came across in my search for email validation. but I can`t seem to make it work.
function emailCheck (emailStr) {
var checkTLD=1;
var knownDomsPat=/^(com|net|org|edu|int|mil|gov|arpa|biz|aero|name|coop|info|pro|museum)$/;
var emailPat=/^(.+)@(.+)$/;
var specialChars="\\(\\)><@,;:\\\\\\\"\\.\\[\\]";
var validChars="\[^\\s" + specialChars + "\]";
var quotedUser="(\"[^\"]*\")";
var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/;
var atom=validChars + `+`;
var word="(" + atom + "|" + quotedUser + ")";
var userPat=new RegExp("^" + word + "(\\." + word + ")*$");
var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$");
var matchArray=emailStr.match(emailPat);
if (matchArray==null) {
alert("Email address seems incorrect (check @ and .`s)");
return false;
}
var user=matchArray;
var domain=matchArray;
for (i=0; i<user.length; i++) {
if (user.charCodeAt(i)>127) {
alert("Ths username contains invalid characters.");
return false;
}
}
for (i=0; i<domain.length; i++) {
if (domain.charCodeAt(i)>127) {
alert("Ths domain name contains invalid characters.");
return false;
}
}
if (user.match(userPat)==null) {
alert("The username doesn`t seem to be valid.");
return false;
}
var IPArray=domain.match(ipDomainPat);
if (IPArray!=null) {
for (var i=1;i<=4;i++) {
if (IPArray>255) {
alert("Destination IP address is invalid!");
return false;
}
}
return true;
}
var atomPat=new RegExp("^" + atom + "$");
var domArr=domain.split(".");
var len=domArr.length;
for (i=0;i<len;i++) {
if (domArr.search(atomPat)==-1) {
alert("The domain name does not seem to be valid.");
return false;
}
}
if (checkTLD && domArr[domArr.length-1].length!=2 &&
domArr[domArr.length-1].search(knownDomsPat)==-1) {
alert("The address must end in a domain or two letter country code.");
return false;
}
if (len<2) {
alert("This address is missing a hostname!");
return false;
}
return true;
}
and here`s the HTML that supposed to make it work
</HEAD>
<BODY BGCOLOR="WHITE">
<H2 ALIGN="CENTER">Email Validation</H2>
<FORM onSubmit="return emailCheck(this)" ACTION="/forum/someAction.html">
<TABLE BORDER="0" CELLSPACING="8" CELLPADDING="8">
<TR>
<TD ALIGN="RIGHT" VALIGN="TOP">
Email Address:
</TD>
<TD>
<INPUT NAME="emailAddr" TYPE="TEXT" SIZE="50">
<P><INPUT TYPE="SUBMIT" VALUE="Submit"> <INPUT TYPE="RESET">
</TD>
</TR>
</TABLE>
</FORM>
</BODY>
</HTML>
I am new to javascript so please gentle on the terms. If you have any easier email validation to recommend, I would greatly appreciate that
thank you
jeckster
|
|
|
Hi, got across this script too, a very powerful e-mail address checker, and coded in accordance to some RFC too.
You need to specify the correc parameter to function emailCheck when you call it. Your <FORM> tag should look something like this:
<FORM onSubmit="return emailCheck(this.emailAddr.value)" ACTION="/forum/someAction.html">
|
|
|
|
|
You can look at your caode carefully and you will find somemistake, and also you can find some website about Javascript work! Good luck!
------------------------------------ flash banner|logo maker|flash menu
|
|
|
|
|
|
|
|