好的,我正在处理这个联系表格here,一切似乎都运作良好。它检查电子邮件地址是否带有带有以下代码的“@”符号:(这是一个功能,为了方便起见,这里没有显示)。
JS:
var at = "@";
if (email.indexOf(at) == -1 || email.indexOf(at) == 0) {
success = false;
document.getElementById("email-error").innerHTML = "That's not an email!";
document.getElementById("email-good").innerHTML = "";
}
HTML:
<input onfocus="return validation()" type="text" name="email" id="email"><span id="email-error"></span><span id="email-good"></span>
我想查看是否有“。” (点)在电子邮件值中使用以下代码,但它不起作用!
var at = "@";
var dot = ".";
if (email.indexOf(at) == -1 || email.indexOf(at) == 0 || email.indexOf(dot) == -1 || email.indexOf(dot) == 0) {
success = false;
document.getElementById("email-error").innerHTML = "That's not an email!";
document.getElementById("email-good").innerHTML = "";
}
另外,如果可能,有办法检查是否有多个“@”或“。” ?我试过&gt;和!= 1已经。
答案 0 :(得分:1)
如果您尝试使用javascript检查有效的电子邮件地址,我强烈建议您使用正则表达式检查。
有关详细信息,请参阅以下帖子:Validate email address in JavaScript?
答案 1 :(得分:0)
有没有办法检查是否有多个“@”或“。” ?
是的,您可以执行String.prototype.split
并检查长度。
var email = 'a@b.c';
if (email.indexOf('@') < 1 || // @ index -1 or 0
email.split('@').length > 2 || // more than one @
email.indexOf('.') < 1) { // . index -1 or 0
success = false;
// etc
}
请注意,某些电子邮件地址可以有多个.
,例如someone@ukogbani.co.uk
并且您无法验证地址是否存在,除非您向其发送内容并获得预期的响应。
一个非常简单的 RegExp 检查是/^[^ @]+@[^ @]+$/
,因为除非它是一个非常特殊的电子邮件地址,否则它不会包含空格或多个@
符号,但是可以归,例如tld com
,例如tldadmin@com
答案 2 :(得分:0)
if(filter_var($ _ POST ['email'],FILTER_VALIDATE_EMAIL)){
$email = $_POST['email'];
}
else {
exit("The Email Address you have entered is not valid.");
}