我的表单中有一个电子邮件输入字段。验证通过使用javascript完成。电子邮件验证没有问题,它可以正常工作。但我想检查电子邮件的附加条件,如果有人没有电子邮件,他/她可以在字段中键入“否”。这是“否”或只允许有效的电子邮件。请帮助我。我目前的电子邮件规则是
My_email: {
required: true,
email:true,
},
答案 0 :(得分:0)
对于javascript验证,如果使用jquery,请查看jquery validate
http://jqueryvalidation.org/documentation/
简单的例子
创建规则
var loginValidationConfig = {
wrapper: "div",
rules: {
password: {
required: true,
},
email: {
required: true,
email: true
}
},
messages: {
password: {
required: "<i class='sprite-attentionw_error_icon'></i>The username or password you entered is incorrect.<br />Please try again.",
},
email: {
required: "<i class='sprite-attentionw_error_icon'></i>The username or password you entered is incorrect.<br />Please try again.",
email: "<i class='sprite-attentionw_error_icon'></i>The username or password you entered is incorrect.<br />Please try again."
}
}
}
然后在你做的表格上
$(this).validate(loginValidationConfig);
这将打印字段旁边的验证 无论如何,您至少需要阅读部分文档
答案 1 :(得分:0)
如果验证电子邮件地址的功能是对Sudakatux的回答中给出的答案
var checkMail = function IsEmail(email) {
var regex = /^([a-zA-Z0-9_.+-])+\@(([a-zA-Z0-9-])+\.)+([a-zA-Z0-9]2,4})+$+no+NO/;
return regex.test(email);
}
它让我想知道它可以用来验证电子邮件地址(例如:结尾&#34;博物馆&#34;其中的字母多于你假设的四个字母)但这可能是问题当然,C&amp; P,以及评论缺乏形成能力,所以我认为它是有效的。
正如已经提到的:除了一些基本的检查之外,你不会验证客户端的电子邮件地址,例如:它有一个@ -sign和一些点,然后通过发送 电子邮件完成剩下的工作(不只是一个测试邮件!),看看它是否反弹。有一些经过充分测试的正则表达式,可以在网络的某个地方找到这种类型的支票,但也可以在这里找到。
采用最简单的方法
var checkMail = function (email) {
var regex = /^.+@[^@]+?\.[a-zA-Z]+$/;
return regex.test(email);
}
检查
var email1 = "a.s@g.a"; // correct but does not exist
var email2 = "a@g";
var email3 = "ag.de";
var email4 = "ag.@.d@e";
var email5 = "a@g@d.de";
console.log("1 " + checkMail(email1));
console.log("2 " + checkMail(email2));
console.log("3 " + checkMail(email3));
console.log("4 " + checkMail(email4));
console.log("5 " + checkMail(email5));
但那不是你想要的,你想要检查多个值并根据该值做一些不同的事情。您可以使用正则表达式检查是否存在任何值,但您不知道哪一个值。你需要两个正则表达式。
假设你想要&#34; NO&#34; (大写&#34; N&#34;大写&#34; O&#34;)
var checkMail = function (email) {
var regexEmail = /^.+@[^@]+?\.[a-zA-Z]+$/;
var regexNO = /^NO$/;
if(!regexEmail.test(email)){
if(!regexNO.test(email)){
return -1; // nothing in it
}
return 1; // Intentionally no email address given
}
return 2; // something vaguely resembling an email given
}
您可以在以下内容中使用它:
var valueEmailField = checkMail(email)
if(valueEmailField > 0){
if(valueEmailField == 1){
// User said "NO", act accordingly
}
// user gave something email-like, act accordingly
}
else {
// email field empty, act accordingly
}
从用户的角度来看,最好使用复选框而不是文本进入。复选框不容易出错。是的,ti可以输错两个字母的单词。
例如选择加入:
[]我想通过电子邮件发送您的答案,请使用以下地址: | ___________________________ |电子邮件地址
嗯,也许比那更优雅; - )
首先测试复选框,如果选中该复选框,请测试该条目的有效性。