检查提交的电子邮件的格式是否正确

时间:2013-09-06 03:27:23

标签: javascript mysql forms validation email

我已创建此脚本以检查用户将进入文本框

的电子邮件形式
function checkEmail() {

  var mail = document.getElementById('mail');
  var filter = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/; /* regex        koda najdena na codeproject.com*/

  if (!filter.test(mail.value)) 
{
    alert('enter valid email');
    mail.focus;
    return false;
}

用于检查此脚本中的表单并在您能够继续之前显示警告

<?php
    $flag = 0;
    if(isset($_POST['submit']))
    {   
        $con = mysql_connect("localhost","root","");
        if (!$con){
          die("cannot connect: " . mysql_error());
        }

        mysql_select_db("strek", $con); 

        $nar_db="SELECT * FROM narocniki;";  
        $result = mysql_query($nar_db, $con);

        while($row=mysql_fetch_array($result))
        {
            if($_POST['mail']==$row['mail'])
                $flag = 1;
        }
        if($flag==0)
        {
            $sql = "INSERT INTO narocniki (mail)  VALUE ('$_POST[mail]')"; 
            mysql_query($sql, $con);    
            mysql_close($con);
            ?>
              <p align="center" class="vsebina" >
                Tvoj mail je bil uspešno sprejet!</p>    
            <p align="center"><a href="dogodki.php"><input type="button" name="return" value="nazaj"></a></p>
            <?php
        }
        else
        {
            echo '<p align="center" class="vsebina">Naveden mail je že v bazi naročnikov!</p>';
            ?>
            <p align="center"><a href="dogodki.php"><input type="button" name="return" value="nazaj"></a></p>
            <?php
        }
    }
    else
    {
        include("vsebina/tabdog.html");
    ?>
         <p align="center" class="vsebina" id="mail">
      naroči se na najnovejše novice</p>

        <form action="dogodki.php" method="post">
            <p align="center" class="vsebina">vnesi svoj e-naslov:  <input type="text" name="mail" id="mail" required>

                <input type="submit" name="submit" value="potrdi" onClick="return checkEmail()">  

            </p>
        </form>
    <?php
    }
  ?>

这可能只是缺少的东西 我是否应该在代码中包含脚本,以及最适合放置它的地方 - 直接天气或者更确切地说是介于两者之间

这在我的代码中是否可行,因为它已经检查了数据库中是否存在邮件,然后还需要检查电子邮件的形式

1 个答案:

答案 0 :(得分:0)

不要在提交按钮的onclick属性中执行此操作,而是尝试在表单的onsubmit属性中执行此操作:

<form action="dogodki.php" method="post" onsubmit="return checkEmail()">
相关问题