Javascript 在谷歌表单中验证电子邮件

Javascript 在谷歌表单中验证电子邮件,javascript,php,jquery,forms,google-forms,Javascript,Php,Jquery,Forms,Google Forms,我正在使用谷歌表单收集注册时事通讯的姓名和电子邮件地址。电子邮件地址字段在谷歌表单中只是一个文本字段,因此它将接受任何文本 我的目标是验证电子邮件地址,以确保已输入电子邮件地址,而不是任何ole文本。下面是谷歌表单的代码。我可以添加什么代码来验证电子邮件地址字段 <form action="http://spreadsheets.google.com/formResponse?key=pqbhTz7PIHum_4qKEdbUWVg&amp;embedded=true" method

我正在使用谷歌表单收集注册时事通讯的姓名和电子邮件地址。电子邮件地址字段在谷歌表单中只是一个文本字段,因此它将接受任何文本

我的目标是验证电子邮件地址,以确保已输入电子邮件地址,而不是任何ole文本。下面是谷歌表单的代码。我可以添加什么代码来验证电子邮件地址字段

<form action="http://spreadsheets.google.com/formResponse?key=pqbhTz7PIHum_4qKEdbUWVg&amp;embedded=true" method="post" target="hidden_iframe" onsubmit="submitted=true;">

<h1>Styled Google form with confirmation redirect</h1>
<div class="errorbox-good">
<div class="ss-form-entry"><label for="entry_1" class="ss-q-title">Your Name?
</label>
<label for="entry_1" class="ss-q-help"></label>
<input type="text" name="entry.1.single" value="" class="ss-q-short" id="entry_1"></div></div>
<br> <div class="errorbox-good">
<div class="ss-form-entry"><label for="entry_2" class="ss-q-title">Your Email?
</label>
<label for="entry_2" class="ss-q-help"></label>
<input type="text" name="entry.2.single" value="" class="ss-q-short" id="entry_2"></div></div>
<br> <div class="errorbox-good">
<div class="ss-form-entry"><label for="entry_3" class="ss-q-title">How easy was this tutorial?
</label>

<label for="entry_3" class="ss-q-help"></label>
<ul class="ss-choices"><li class="ss-choice-item"><input type="radio" name="entry.3.group" value="Very easy!" class="ss-form-input" id="group_3_1">
<label class="ss-choice-label" for="group_3_1">Very easy!</label></li> <li class="ss-choice-item"><input type="radio" name="entry.3.group" value="Pretty easy" class="ss-form-input" id="group_3_2">
<label class="ss-choice-label" for="group_3_2">Pretty easy</label></li> <li class="ss-choice-item"><input type="radio" name="entry.3.group" value="Not easy" class="ss-form-input" id="group_3_3">
<label class="ss-choice-label" for="group_3_3">Not easy</label></li>
</ul></div></div>
<br>
<input type="hidden" name="pageNumber" value="0">
<input type="hidden" name="backupCache" value="">
<input type="submit" name="submit" value="Submit">
</form>

带有确认重定向的样式化Google表单
你的名字?

你的电子邮件?
本教程有多简单?
  • 很简单
  • 非常简单
  • 不容易


您可以使用正则表达式在jquery中轻松验证电子邮件:

<script type="text/javascript">

function ValidateEmail(email) {
    var expr = /^([\w-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$/;
    return expr.test(email);
};
$("#btnsubmit").on("click", function () {
    if (!ValidateEmail($("#entry_2").val())) {
        alert("Invalid email address.");
        return false;
    }
    else {
         // Valid email address
    }
});

</script>

功能验证电子邮件(电子邮件){
var expr=/^([\w-\.]+)@(\[[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[\w-]+)([a-zA-Z]{2,4}.[0-9]{1,3}.(\]?)$/;
返回expr.test(电子邮件);
};
$(“#btnsupmit”)。在(“单击”,函数(){
如果(!ValidateEmail($(“#entry_2”).val()){
警报(“无效电子邮件地址”);
返回false;
}
否则{
//有效电子邮件地址
}
});
并为“提交”按钮分配一个id,如下所示:

<input type="submit" name="submit" id='btnsubmit' value="Submit">

在表单上添加Jquery引用,如下所示:

 <script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>


您也可以使用必填字段。在您的输入标签中添加required=“”,并键入=“email”以获取电子邮件有效性最新浏览器版本。它会在表单提交时自动验证电子邮件输入。感谢大家提到这对我来说确实有效,但它不会检查“周期”,这是一个令人不快的问题。因此,它将接受电子邮件,如bob@yahoo没有.com------请让我知道任何其他方法!你的问题重复感谢分享链接@herr这对我有用,而且很简单。但是,有一个问题,如果我使用XHTML有关系吗?这是真的,它只对HTML5有效吗?这段代码对我不起作用。我还在WordPress 2012主题中测试了它。我的谷歌表单继续提交任何文本,不会显示错误。有什么问题吗?还是有其他方法?上面有人提到了这一点,但它并不是非常有效,因为它不检查“周期”。一定有办法吗?你添加了jquery文件引用吗?是的,我想,但是你能发布你所说的jquery文件引用吗?也许我犯了一个错误。不知道为什么jquery不适合我。最初,我尝试了一个jquery验证插件,但它给出了不正确的错误,例如电子邮件字段的“请输入一个大于0的数字”。但是对于一个简单的任务来说,插件似乎是不必要的,对吗?