Skip to main content

Validate Email


<?php

function smcf_validate_email($email) {

$at = strrpos($email, "@");


// Make sure the at (@) sybmol exists and

// it is not the first or last character

if ($at && ($at < 1 || ($at + 1) == strlen($email)))

return false;


// Make sure there aren't multiple periods together

if (preg_match("/(\.{2,})/", $email))

return false;


// Break up the local and domain portions

$local = substr($email, 0, $at);

$domain = substr($email, $at + 1);


// echo $local.'<br>';

// echo $domain.'<br>';


// Check lengths

$locLen = strlen($local);

$domLen = strlen($domain);

if ($locLen < 1 || $locLen > 64 || $domLen < 4 || $domLen > 255)

return false;


// Make sure local and domain don't start with or end with a period

if (preg_match("/(^\.|\.$)/", $local) || preg_match("/(^\.|\.$)/", $domain))

return false;


// Check for quoted-string addresses

// Since almost anything is allowed in a quoted-string address,

// we're just going to let them go through

if (!preg_match('/^"(.+)"$/', $local)) {

// It's a dot-string address...check for valid characters

if (!preg_match('/^[-a-zA-Z0-9!#$%*\/?|^{}`~&\'+=_\.]*$/', $local))

return false;

}


// Make sure domain contains only valid characters and at least one period

if (!preg_match("/^[-a-zA-Z0-9\.]*$/", $domain) || !strpos($domain, "."))

return false;


// Check if the length of last part is atleast 2

$last_part = explode(".", $domain);

// echo strlen($last_part[1]);

if(strlen($last_part[1]) <= 1)

return false;


return true;

}


$email = 'dskanth@gmail.com';

if (!smcf_validate_email($email))

echo 'Invalid email';

else

echo 'valid email';

?>

Comments

  1. Another simple email validation check:

    if (!eregi("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$", $email))
    {
    echo $email.' is not a valid email';
    }

    ReplyDelete

Post a Comment

Popular posts from this blog

Retaining checkbox status of a form after submitting it

we will learn here how to post back or retain the value ( status ) of the checkbox. We will use php header redirection to post back the values to our main page where checkbox is present. We will call form page as first page and action or submitted page as second page. The form data will be received by second page and it is supposed to post back the form data back to form page by using query string through address bar. To keep the second page simple we will keep only the redirection part. Here we have excluded the part which takes care if the form passes its validation and execute the actual script (redirection part). Here is the code of our form with two checkboxes, pb-check.php <?php $t1=$_GET['t1']; $t2=$_GET['t2']; if($t1=="yes"){$t1v="checked";} else{$t1v=="";} if($t2=="yes"){$t2v="checked";} else{$t2v=="";} ?> HTML Form code: <form method="post" action="pb-chk.php"> <inp...

Joomla validate chrono forms using jquery

It is a common practice to use Chrono forms in our joomla site to setup various forms in the site, be it a contact us form, submit a ticket form, or whatever. I have set the option "validate form" to "No" under chronoform settings in admin panel, and also preferred to not include any js or css files. For validating the chrono forms, i prefer jquery. So first lets add jquery support in our joomla. It is quite simple: 1. Download jquery.js and jquery_min.js (1.4.2 version is enough) and place them in media/system/js folder of your joomla. 2. Edit libraries->joomla->html->html->behavior.php, and add the following function below the mootools() function: function jQuery($debug = null)     {         static $loaded;         global $mainframe;         // Only load once         if ($loaded) {    ...

Mysql join examples

1. Inner join: Sample Fields in "person" table:  id, email, password, firstname, lastname Sample Fields in "personprofile" table: person_id, age, dob, city, country, phone, mobile Query: select * from person inner join `personprofile` on person.id=personprofile.person_id and person.id=9; 2.  Left join: Sample fields in "employee" table: emp_id (primary), name, active Sample fields in "online" table: id (primary), user_id (references emp_id), online Query: SELECT *  FROM employee e left join online o on e.emp_id = o.user_id where e.active=1; Note the use of "where" in the above query, instead of normal "and". It will give the accurate results.