Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > Javascript > Email validator not allowing '.' in email address before '@'

Reply
Thread Tools

Email validator not allowing '.' in email address before '@'

 
 
gullyou@googlemail.com
Guest
Posts: n/a
 
      12-22-2005
Sorry I crossposted this to java group. Didn't know distinction
between Java & Javascript

Hi,


I'm not a Java script programmer but have this web page with a form
form that
includes a field to input an email address. My problem is that the
validator won't allow addresses that include a '.' before the @ sign to

be entered (such as john....@doman.com)


It seems like (3>intIsDOT-intIsAT) || (4>intLengthA-intIsDOT)){


may be causing the problem. Anyone have an idea that will allow me to
screen out invalid addresses but still allow a . before the @? I would

like to continue using the same script, only modified to allow the '.'
if possible.


Here's the portion of the script that seems to be involved:


function fnEmailValidation(oTag){
var intLengthA= oTag.value.length;
var intIsAT = oTag.value.indexOf("@");
var intIsDOT = oTag.value.indexOf(".");
if (intLengthA<6 || intIsAT<1 ||
(3>intIsDOT-intIsAT) ||
(4>intLengthA-intIsDOT)){
return false;
}
var
strTextAfterDot=oTag.value.substring(intIsDOT+1,in tLengthA);
intLengthA= strTextAfterDot.length;
for (var x=0;x<intLengthA;x++){
if
(isNaN(strTextAfterDot.substring(x,x+1))==true) return true;
}
return false;
}

 
Reply With Quote
 
 
 
 
Thomas 'PointedEars' Lahn
Guest
Posts: n/a
 
      12-22-2005
wrote:

> [...]
> I'm not a Java script programmer


I am not either, since there is no "Java script".

> but have this web page with a form form that includes a field to input an
> email address. My problem is that the validator won't allow addresses
> that include a '.' before the @ sign to
>
> be entered (such as john....@doman.com)


Your example address does not conform to RFC2822, the algorithm would
rightfully refuse it.

> It seems like (3>intIsDOT-intIsAT) || (4>intLengthA-intIsDOT)){
>
>
> may be causing the problem. Anyone have an idea that will allow me to
> screen out invalid addresses but still allow a . before the @? [...]


<http://groups.google.com/groups?q=valid+%22mail+address%22+group%3Acomp.lan g.javascript&start=0&scoring=d&>

> [overly complicated inefficient code that I refuse to review]


Ever heard of Regular Expressions? Supported since IE3 (August 1996),
NN4 (June 1997).


PointedEars
 
Reply With Quote
 
 
 
 
gullyou@googlemail.com
Guest
Posts: n/a
 
      12-22-2005
Thanks, PointedEars. No, I haven't heard of regular expressions. This
isn't my script and it does seem more complicated than other email
validator scripts I've seen on the web. I'm not a web programmer, I
just generally modify existing stuff to come up with what I want if I
need to do something I don't know how to do.

Not being a programmer, I wouldn't necessarily be able to distinguish
the necessary from the unnecessarily complicated. My attempts at
modifying the script have all resulted in the form accepting ANYTHING
in the email address field, unfortunately.

Thanks for the links. I'll do some more looking, and maybe your
reference to "regular expressions" will lead me to something useful.

No big deal. Someone's going to take care of this problem, even if it
isn't me. It's not exactly my webpage, after all.

Thanks again.

 
Reply With Quote
 
McKirahan
Guest
Posts: n/a
 
      12-22-2005
<> wrote in message
news: ups.com...
> Sorry I crossposted this to java group. Didn't know distinction
> between Java & Javascript
>
> Hi,
>
>
> I'm not a Java script programmer but have this web page with a form
> form that
> includes a field to input an email address. My problem is that the
> validator won't allow addresses that include a '.' before the @ sign to
>
> be entered (such as john....@doman.com)
>
>
> It seems like (3>intIsDOT-intIsAT) || (4>intLengthA-intIsDOT)){
>
>
> may be causing the problem. Anyone have an idea that will allow me to
> screen out invalid addresses but still allow a . before the @? I would
>
> like to continue using the same script, only modified to allow the '.'
> if possible.
>
>
> Here's the portion of the script that seems to be involved:
>
>
> function fnEmailValidation(oTag){
> var intLengthA= oTag.value.length;
> var intIsAT = oTag.value.indexOf("@");
> var intIsDOT = oTag.value.indexOf(".");
> if (intLengthA<6 || intIsAT<1 ||
> (3>intIsDOT-intIsAT) ||
> (4>intLengthA-intIsDOT)){
> return false;
> }
> var
> strTextAfterDot=oTag.value.substring(intIsDOT+1,in tLengthA);
> intLengthA= strTextAfterDot.length;
> for (var x=0;x<intLengthA;x++){
> if
> (isNaN(strTextAfterDot.substring(x,x+1))==true) return true;
> }
> return false;
> }
>


Will this help?

<html>
<head>
<title>EmailValidation.htm</title>
<script type="text/javascript">
function fnFormValidation(that) {
var oTag = that.Email;
if (!fnEmailValidation(oTag)) return false;
return true;
}
function fnEmailValidation(oTag) {
var regx = /^[\w-\.]{1,}\@([\da-zA-Z-]{1,}\.){1,}[\da-zA-Z-]{2,3}$/;
if (oTag.value.length == 0) {
alert("Email is missing!");
} else if (!regx.test(oTag.value)) {
alert("Email is invalid!");
}
}
</script>
</head>
<body>
<form name="form1" onsubmit="return fnFormValidation(this)">
<input type="text" name="Email" size="50" maxlength="50">
<input type="submit" value="Submit">
</form>
</body>
</html>


 
Reply With Quote
 
gullyou@googlemail.com
Guest
Posts: n/a
 
      12-22-2005
It just might. Thanks. I'll check it out and see.

 
Reply With Quote
 
Dr John Stockton
Guest
Posts: n/a
 
      12-23-2005
JRS: In article <>, dated
Thu, 22 Dec 2005 14:04:15 local, seen in news:comp.lang.javascript,
McKirahan <> posted :

>Will this help?


>function fnFormValidation(that) {
> var oTag = that.Email;
> if (!fnEmailValidation(oTag)) return false;
> return true;
>}
>function fnEmailValidation(oTag) {
> var regx = /^[\w-\.]{1,}\@([\da-zA-Z-]{1,}\.){1,}[\da-zA-Z-]{2,3}$/;
> if (oTag.value.length == 0) {
> alert("Email is missing!");
> } else if (!regx.test(oTag.value)) {
> alert("Email is invalid!");
> }
>}


Reposting stale code that you've found somewhere, or writing code that
looks like that, is no help to anyone.

That code only allows TLDs of two or three characters.

It also does not allow on the left at least one character, $, which I
know to be valid.

Normally, one would expect a validation function to return a value.

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

--
© John Stockton, Surrey, UK. ?@merlyn.demon.co.uk Turnpike v4.00 IE 4 ©
<URL:http://www.jibbering.com/faq/> JL/RC: FAQ of news:comp.lang.javascript
<URL:http://www.merlyn.demon.co.uk/js-index.htm> jscr maths, dates, sources.
<URL:http://www.merlyn.demon.co.uk/> TP/BP/Delphi/jscr/&c, FAQ items, links.
 
Reply With Quote
 
 
 
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
how do I catch a bad email address before sending? Keith G Hicks ASP .Net 1 04-28-2008 04:59 PM
checking data before allowing user to move on D James ASP .Net 6 06-13-2007 07:01 PM
Struts Validator - creditCard validator smrimell@gmail.com Java 4 02-13-2007 08:32 PM
Allowing Specific MAC Address Access Albie Cisco 1 11-15-2005 03:01 AM
Allowing a help page before somebody logs in. UJ ASP .Net 2 10-10-2005 02:47 PM



Advertisments