繁体   English   中英

在JavaScript中,如何检查输入中是否只有一个“ @”?

[英]In JavaScript, how do I check that only one “@” is present in an input?

我试图做一个电子邮件验证器,我想发出一个命令来检查用户输入(用户输入的电子邮件)是否仅包含“ @”和“。”之一。 示例:name @@。com将无效

function validateEmail(){
let enterEmail = prompt("Enter your email to see if it is valid");
let removeSpace = (enterEmail.trim());
let s = removeSpace.indexOf('@');
let lastS = removeSpace.lastIndexOf('.');
if (s > 1 && lastS > 1) {
    Output("emailOutput", "The Email you have entered is valid");
    }
else {
    Output("emailOutput", "The Email you have entered is invalid");
}   
}

我知道这不是您要的(可能不相关),但是可以通过以下方式在浏览器中验证电子邮件地址:

<input type="email" />

优雅地降级为

<input type="text" />
let s = "mail@@@.com"
s.match(/@/g).length 

长度将是字符串中出现的次数

您可以使用:

const isEmailValid = (email) => {
    const isValid = /\S+@\S+\.\S+/.test(email);
    return isValid;
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM