gpt4 book ai didi

javascript - 检查输入值是否有 "."(点)(Javascript)

转载 作者:行者123 更新时间:2023-11-28 02:10:57 25 4
gpt4 key购买 nike

好的,我正在处理此联系表单 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 = "";
}

另外,如果可能的话,有没有一种方法可以检查是否有多个“@”或“.”。 ?我已经尝试过 > 和 != 1。

最佳答案

is there a way to check if there are more than one "@" or "." ?

是的,你可以这样做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

关于javascript - 检查输入值是否有 "."(点)(Javascript),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17099753/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com