ereg() sucks. It's difficult to read AND write. I wish MySQL supported
PCREs and not just POSIX regular expressions. I just wrote this
preg_match() email validator (haven't really tested it):
function isValidEmail($email) {
if(preg_match("/[\w\.\-]+@\w+[\w\.\-]*?\.\w{1,4}/", $email))
return true;
return false;
}
Note that underscores are included with '\w' character type. Ooh, I
forgot to remove that possibility from the last atom. Also, I allowed
one to four characters after the last dot because IP addresses are
valid!! (e.g. "[EMAIL PROTECTED]")
Matt
-----Original Message-----
From: Ross Fleming [mailto:[EMAIL PROTECTED]]
what's wrong with ereg and care to give perl related code?...
-----Original Message-----
From: Matt Hillebrand [mailto:[EMAIL PROTECTED]]
Don't forget about the new .name, and I thought I might mention that
preg()/PCREs would be the way to go if you're trying to make your code
readable.
Matt
-----Original Message-----
From: Ross Fleming [mailto:[EMAIL PROTECTED]]
For completeness, I thought I'd give the original poster the credit
(just found it): Marko Mihalec <[EMAIL PROTECTED]>
This was posted to the same group ages ago:
if(ereg(
"^[^@
]+@([a-zA-Z0-9\-]+\.)+([a-zA-Z0-9\-]{2}|net|com|gov|mil|org|edu|int)$"
,$email))
{
//email address is valid
}
else
{
// it ain't
}
Or something like that. I'd personally use a couple of explodes though
Ross
-----Original Message-----
From: Matt Hillebrand [mailto:[EMAIL PROTECTED]]
Sent: 10 April 2002 00:34
To: 'Egil Helland'; 'brother'
Cc: [EMAIL PROTECTED]
Subject: RE: [PHP-WIN] checking for characters
I like Egil's idea of readable code using explode and regular
expressions. Or, you could use this function I wrote:
function isValidEmail($email) {
if(strlen($email) < 6)
return false;
$at = -1; // index of '@'
for($i=0; $i<strlen($email); $i++) {
if($email[$i] == '@')
$at = $i;
}
if($at < 1)
return false;
for($i=$at; $i<strlen($email); $i++) {
if($email[$i] == '.')
break;
}
if($i>$at && $i<strlen($email))
return true;
else
return false;
}
Matt
-----Original Message-----
From: Egil Helland [mailto:[EMAIL PROTECTED]]
Brush up on your patternmatching then, brother. Check the php.net manual
on regexp.
If you want more readable code, try splitting the string (explode) on @
first, then split the segment after @ that you now have on . again.
Cheers,
Egil (in Norway, so I am way past bedtime myself :))
On Wednesday, April 10, 2002, at 01:07 AM, brother wrote:
> I tried my best to find a nifty function to check for letters in a
> string but with no luck, maybe the sleepnesfactor has to do with it?
> (it's 01:05am
> here in Sweden).
>
> I have a form that posts some text, one field is a emailadressthing, I
> want to check the string that this field produces and see if there is
> a @ and at
> leaste one . after the @.
>
> help me =)
>
> zzzzz
>
> /brother
--
PHP Windows Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php