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

标签 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
    }
  ?>

可能只是缺少一些东西 我是否应该只在代码中包含脚本,以及最好将其放置在哪里(天气)直接放在头部还是中间的某个位置

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

最佳答案

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

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

关于javascript - 检查提交的电子邮件格式是否正确,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18649408/

相关文章:

MySQL,如何使用 PHP 验证字符串日期?

ajax - 安全的 ajax 表单 POST

Javascript Websocket 订阅 channel

javascript - d3.svg.diagonal() 在哪里?

javascript - 转义字符串

mysql - 如何使用 curtime() 来 checkin 具有 now() 结构的列?数据库

mysql - ssh端口从R转发到mysql

javascript - 在php中获取方法然后将值传递给json格式

javascript - 如何在没有表单的情况下提交动态数据?

javascript - Angular.js 与 Ruby On Rails Forms 的集成