Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/396.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 过滤掉无效电子邮件,使其不会从警报提示中显示到文档中_Javascript - Fatal编程技术网

Javascript 过滤掉无效电子邮件,使其不会从警报提示中显示到文档中

Javascript 过滤掉无效电子邮件,使其不会从警报提示中显示到文档中,javascript,Javascript,我想要得到的行为是,当用户输入任何无效(数据)时,不要在文档上显示为域和用户名,因为我们使用的是一个切片和大写字母,以便只操作用户名并显示域 当输入有效的电子邮件时,它可以正常工作,但当输入错误数据时,它仍然会将其写入文档 function emailValid(email) { var emailRegex = /^[-\w.]+@([A-z0-9][-A-z0-9]+\.)+[A-z]{2,4}$/; var valid = email.match(emailRege

我想要得到的行为是,当用户输入任何无效(数据)时,不要在文档上显示为域和用户名,因为我们使用的是一个切片和大写字母,以便只操作用户名并显示域

当输入有效的电子邮件时,它可以正常工作,但当输入错误数据时,它仍然会将其写入文档

function emailValid(email) {
      var emailRegex = /^[-\w.]+@([A-z0-9][-A-z0-9]+\.)+[A-z]{2,4}$/;
      var valid = email.match(emailRegex);
      return valid;
  }

var email = prompt("Please enter your email address");
                    if (emailValid(email)) {
                        document.write("<p>Thank you for registering with us!</p>");
                    } else {
                        document.write("<p> Error: Please enter a valid email address </p>");   
                        }



var atIndex = email.indexOf('@');
var getString = email.slice(atIndex + 1);
var getUsername = email.slice(0, atIndex);
var valid = getUsername.toUpperCase();
document.write("<p>The domain for this email is " + getString + "</p>");
document.write("<p>The username for this email is " + valid + "</p>");
功能emailValid(电子邮件){
var emailRegex=/^[-\w.]+@([A-z0-9][A-z0-9]+\)+[A-z]{2,4}$/;
var valid=email.match(emailRegex);
返回有效;
}
var email=提示(“请输入您的电子邮件地址”);
如果(电子邮件有效(电子邮件)){
文件。写(“感谢您在我们注册!

”; }否则{
文档。写入(“错误:请输入有效的电子邮件地址”

”; } var atIndex=email.indexOf('@'); var getString=email.slice(atIndex+1); var getUsername=email.slice(0,atIndex); var valid=getUsername.toUpperCase(); document.write(“此电子邮件的域为“+getString+”

”; 文档。写(“此电子邮件的用户名为“+valid+”

”;
我接受了Jetos的推荐,并做到了:

var email = prompt("Please enter your email address");
                    if (emailValid(email)) {
                        var atIndex = email.indexOf('@');
                        var getString = email.slice(atIndex + 1);
                        var getUsername = email.slice(0, atIndex);
                        var valid = getUsername.toUpperCase();
                        document.write("<p>Thank you for registering with us!</p>");
                        document.write("<p>The domain for this email is " + getString + "</p>");
                        document.write("<p>The username for this email is " + valid + "</p>");
                    } else {
                        document.write("<p> Error: Please enter a valid email address </p>");
                    }
var email=prompt(“请输入您的电子邮件地址”);
如果(电子邮件有效(电子邮件)){
var atIndex=email.indexOf('@');
var getString=email.slice(atIndex+1);
var getUsername=email.slice(0,atIndex);
var valid=getUsername.toUpperCase();
文件。写(“感谢您在我们注册!

”; document.write(“此电子邮件的域为“+getString+”

”; 文档。写(“此电子邮件的用户名为“+valid+”

”; }否则{
文档。写入(“错误:请输入有效的电子邮件地址”

”; }
我不确定您的问题到底是什么。您的最后两个
文档。write
没有任何条件,因此它们将始终执行。错误:请输入有效的电子邮件地址此电子邮件的域是GFDGFG此电子邮件的用户名是GFDGF(这是我键入GFDGFG时的结果),我不希望发生这种情况。是的,这就是您的代码所做的。好的,需要做什么才能不在最后一个文档写入部分显示,而只显示有效输入?将这些语句放在您的
if(emailValid(email))
条件中?