> I've built this little regular expression to test wether an e-mail > address is valid or not: > > if(eregi > ("^[a-zA-Z][\w\.-]*[a-zA-Z0-9]@[a-zA-Z][\w\.-]*[a-zA-Z0-9]\.[a-zA-Z][a-zA-Z\.]*[a-zA-Z]$", > $email)) First, you should be aware that your RegEx is wrong. I know it's wrong, because the CORRECT Regex is 3 *PAGES* long in the camel book. That said, maybe this will catch *some* invalid email addresses, and not raise any false positives on valid email addresses... Though it sure looks to me like it's gonna complain about *MY* email address, and then I'll never visit your site again. > print ('valid email) > else > print ('Invalid email'); > > -- > > ok, now i want to use this in a filling form web page scenario. > I have this forms with its fields to be filled and when it gets to the > e-mail address textbox, i want to check if the address is not well formed. > > So i did (notice the "!" before the eregi): > > if (!eregi > ("^[a-zA-Z][\w\.-]*[a-zA-Z0-9]@[a-zA-Z][\w\.-]*[a-zA-Z0-9]\.[a-zA-Z][a-zA-Z\.]*[a-zA-Z]$", > $email)) > { send a warn to the user telling the e-mail address is not correct} > > -- > > Well, if the first block of code works pretty good saying if an address > is valid or invalid, the second one, when the data from the filled form > is checked, always says the adress is invalid. > > I thought the "!" would adapt the confition to its new scenario, but, > well... as i've told you, it isn't. > > Any ideas of how to solve this, i.e., being the regular expression (and > it is), what do i have to do to get only the invalid adresses ? > In short, i only want to trap the invalid ones. I can't spot what you've done wrong, but everything you believe to be true about ! and all that seems right to me... What email addresses are you using for your test cases? -- Like Music? http://l-i-e.com/artists.htm -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php