Specific E-Mail Validation Script

I

ibizara

Please could anyone help I need a validation script on and input field
email to include/exclude the below?
If it is even possible even??
Many Thanks in advanced, Regards, Jason

-----------------------------------------------------------------------------

(Note " * " is NOT a wildcard in the instances below)

include:
a-Z 0-1 * _ - @ a-Z 0-1 _ - . a-Z 0-1

exclude:
*@hsbc.com
*@barclays.com
*@hotmail.com

-----------------------------------------------------------------------------

if (theForm.email.value == "")
{
alert("Please enter a valid email");
theForm.email.focus();
return (false);
}

var checkemail = "@.";
var checkStr = theForm.email.value;
var emailValid = false;
var emailAt = false;
var emailPeriod = false;
for (i = 0; i < checkStr.length; i++)
{
ch = checkStr.charAt(i);
for (j = 0; j < checkemail.length; j++)
{
if (ch == checkemail.charAt(j) && ch == "@")
emailAt = true;
if (ch == checkemail.charAt(j) && ch == ".")
emailPeriod = true;
if (emailAt && emailPeriod)
break;
if (j == checkemail.length)
break;
}

if (emailAt && emailPeriod)
{
emailValid = true
break;
}
}
if (!emailValid)
{
alert("Please enter a valid email");
theForm.email.focus();
return (false);
}

-----------------------------------------------------------------------------

<form name="whitelist" method="post" action="submit.php">
<input name="email" type="text" id="email"
onblur="lowerCase(this.id)">
<i>[email protected] (*@company.com = anything)</i><br>
<i>Please do <font color="red">NOT</font> add <u>*@hotmail.com</u> ,
only to company domains eg. <u>*@scruttonbland.co.uk</u></i><br>
<i>Also please <font color="red">exclude</font> Bank email addresses
(@rbs.co.uk @barclays.co.uk @lloydstsb.com @hsbc.co.uk @natwest.com)</
i><br>
<input name="submit" type="submit" id="submit" value="Submit">
 
D

Dr J R Stockton

In comp.lang.javascript message <a10b516c-4a7e-42ec-a344-ce264efaa668@u1
0g2000prn.googlegroups.com>, Wed, 23 Jan 2008 09:13:17, ibizara
Please could anyone help I need a validation script on and input field
email to include/exclude the below?

You are wasting your time doing it that way. Invest a little time in
learning the beginnings of RegExps, and you will soon profit.

<URL:http://www.merlyn.demon.co.uk/js-valid.htm>

Disregarding for the moment your objection to banks, it is very
difficult for the amateur to write something which passes ALL valid
address forms and rejects at least most invalid ones. NEVER over-
validate E-addresses that you are not yourself creating; but when
creating it is reasonable to be restrictive.

Spam = /.*@(hsbc|barclays|hotmail)\.com$/.test(Addr)
should detect the forms you indicated.

It's a good idea to read the newsgroup c.l.j and its FAQ. See below.
 
I

ibizara

Please could anyone help I need a validation script on and input field
You are wasting your time doing it that way.  Invest a little time in
learning the beginnings of RegExps, and you will soon profit.

As it does seem pretty difficult to get it just right i'm going to try
searching a few places and my result I will post here.

Might try...

Check whole email and accept if they have ¬

a-Z 0-1 * _ - @ .

Check whole email, Must have the below ¬

@ .

Thanks for your reply.

J
 
I

ibizara

As it does seem pretty difficult to get it just right i'm going to try
searching a few places and my result I will post here.

Might try...

Check whole email and accept if they have ¬

a-Z 0-1 * _ - @ .

Check whole email, Must have the below ¬

@ .

Achieved what I needed but in PHP rather than JavaScipt

<?php
// Receiving variables
@$email = addslashes($_POST['email']);

if (! ereg('^[*a-z\'0-9]+([._-][*a-z\'0-9]+)*@([a-z0-9]+([._-][a-
z0-9]+))+$', $email)){
include_once("error.inc");
die();
}

if(preg_match('/\*@(hotmail|rbs|barclays|lloydstsb|hsbc|natwest)\.(com|
co\.uk)$/i',$email)){
include_once("not_allowed.inc");
die();
}
?>

But if anyone wants to help convert the above to JS... ?

J
 
D

Dr J R Stockton

In comp.lang.javascript message <a10b516c-4a7e-42ec-a344-ce264efaa668@u1
0g2000prn.googlegroups.com>, Wed, 23 Jan 2008 09:13:17, ibizara
Please could anyone help I need a validation script on and input field
email to include/exclude the below?

You are wasting your time doing it that way. Invest the time in
learning RegExps first.

It's a good idea to read the newsgroup c.l.j and its FAQ. See below.
 
T

Thomas 'PointedEars' Lahn

Jeremy said:
You /really/ are best not trying to validate an email address with
regular expressions. I assure you, they are far more complex than you
think.

They are not. I have derived and posted a very short RegExp based on the
productions of RFC2822, section 3.4.1., here before.
If you really want the regular expression to check email addresses,
see here. I've not tested it under JS, but it *should* work.

It should not, as ECMAScript Regular Expressions are not based on
Perl-compatible Regular Expressions (PCRE), whereas e.g. PHP Regular
Expressions are.
(Warning: Perl link -- May lead to blindness)
<URL: http://www.ex-parrot.com/~pdw/Mail-RFC822-Address.html >

This oft-cited code that has always been outdated (RFC2822 obsoleted RFC822
in 2001-04 CE, the code is dated 2002-04-13 CE) does not check for
e-mail-addresses, it checks for outdated address headers. It's 2008 CE now;
I wished people would finally stop citing it.


PointedEars
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,755
Messages
2,569,536
Members
45,010
Latest member
MerrillEic

Latest Threads

Top