Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/227.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用脚本验证电子邮件和表单条目_Javascript_Php - Fatal编程技术网

Javascript 使用脚本验证电子邮件和表单条目

Javascript 使用脚本验证电子邮件和表单条目,javascript,php,Javascript,Php,我有一个脚本,我已经使用了几年,它可以在我使用它的所有东西上工作。在我使用的一个新脚本上,它似乎突然被破坏了 我需要它检查是否填写了名字,并且输入的电子邮件地址仅为Gmail电子邮件地址 我希望有人能看看代码,让我知道我是否遗漏了什么,或者告诉我一个更好的方法来做到这一点 这是我的密码: <form name="myForm" method="post" action="putform3.php" onsubmit="return validateForm()"> <div c

我有一个脚本,我已经使用了几年,它可以在我使用它的所有东西上工作。在我使用的一个新脚本上,它似乎突然被破坏了

我需要它检查是否填写了名字,并且输入的电子邮件地址仅为Gmail电子邮件地址

我希望有人能看看代码,让我知道我是否遗漏了什么,或者告诉我一个更好的方法来做到这一点

这是我的密码:

<form name="myForm" method="post" action="putform3.php" onsubmit="return validateForm()">
<div class='card-img-top' style="position: relative; width: 300px; padding: 5px; background-color: #989eae;"><center>
<b>Fill Out The Form Below</b><br />
<input class='card-img-top' name="fname" type="text" value="" style="width:280px; margin-bottom:5px; color:#000000;" placeholder="First Name" required /><br />
<input class='card-img-top' name="email" type="text" value="" style="width:280px; margin-bottom:5px; color:#000000;" placeholder="Gmail Email" required /><br />

<input type="hidden" name="affiliate" value="$affiliate" />
<input type="hidden" name="myip" value="$ip" />
<input type="hidden" name="lp" value="$lp" />
<input class="formbutton" type="submit" name="submit" value="$buttontext"><br />
<span style="font-size: 10px;">We keep your information private!</span>
</center></div>
</from>


<script type="text/javascript">
function validateForm()
{
var e=document.forms["myForm"]["email"].value;
var f=document.forms["myForm"]["fname"].value;
var atpos=e.indexOf("@");
var dotpos=e.lastIndexOf(".");
var gmail = e.split("@");
var rgmail = gmail[1];
if (atpos<1 || dotpos<atpos+2 || dotpos+2>=e.length)
  {
  alert("Not a valid e-mail address");
  return false;
  }
if (rgmail == "yahoo.com" || rgmail == "hotmail.com" || rgmail == "msn.com" || rgmail == "aol.com" || rgmail == "yandex.com")
    {
  alert("Must Be A Good gmail.com Email Address");
  return false;
    }

if (f==null || f=="")
  {
  alert("First name must be filled out");
  return false;
  }
}
</script>  

填写下表



我们对您的信息保密! 函数validateForm() { var e=document.forms[“myForm”][“email”]。值; var f=document.forms[“myForm”][“fname”].value; var atpos=e.indexOf(“@”); var dotpos=e.lastIndexOf(“.”); var gmail=e.split(“@”); var rgmail=gmail[1];
如果(atpos根据提供的网站链接:

有多个js问题导致js验证功能正常运行:

  • 对jquery文件包含url使用
    https:
    而不是
    http
  • 内部
    script.js
    文件
    window.getComputedStyle
    未定义
  • 根据需要删除验证函数中的附加
    lname
    值行 表单中没有此类输入

  • 检查你的浏览器控制台,有没有js错误?在Firefox中对我来说很好。不过你真的应该使用正则表达式来检查电子邮件。是的,它工作很好,在我的本地也可能有其他js问题在你的页面上阻止js运行。顺便说一句,你的
    rgmail
    条件不正确,如果(rgmail!=“gmail.com”)应该是
    if(rgmail!=“gmail.com”)
    我尝试了
    if(rgmail!=“gmail.com”)
    但它似乎从来都不起作用lol。无论如何,我会在它起作用后再试一次。我使用了Chrome并进行了检查,唯一的警告是……[弃用]“缩放:重置”已弃用,将于2017年6月左右在M59中删除。有关更多详细信息,请参阅。我在我的任何代码中都找不到
    zoom:reset
    。我不敢相信我忽略了这三件事。谢谢。这非常有效。