Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/404.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/75.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_Html_Forms_Button_Email Validation - Fatal编程技术网

Javascript 使用表单按钮时电子邮件验证功能无法正常工作

Javascript 使用表单按钮时电子邮件验证功能无法正常工作,javascript,html,forms,button,email-validation,Javascript,Html,Forms,Button,Email Validation,我正在为我的JS课程做最后一个项目。我遇到了一点障碍,希望能得到一些指导。 我希望采取的输入(所有编码需要在JS中完成)的电子邮件和验证。如果电子邮件经过验证,则应将输入发送到新网页上。如果输入无效,应发出警报,然后用户应重新输入正确的电子邮件地址。 这只是项目的一部分。我正在创建一个新页面,让用户输入简历的输入信息 根据代码的当前状态,会弹出电子邮件无效的警告框(即使是在有效的情况下)。如果我拿走了验证部分,我已经把它写下来了。但是,它写的是“未定义” //html Web115最终项目 /

我正在为我的JS课程做最后一个项目。我遇到了一点障碍,希望能得到一些指导。 我希望采取的输入(所有编码需要在JS中完成)的电子邮件和验证。如果电子邮件经过验证,则应将输入发送到新网页上。如果输入无效,应发出警报,然后用户应重新输入正确的电子邮件地址。 这只是项目的一部分。我正在创建一个新页面,让用户输入简历的输入信息

根据代码的当前状态,会弹出电子邮件无效的警告框(即使是在有效的情况下)。如果我拿走了验证部分,我已经把它写下来了。但是,它写的是“未定义”

//html
Web115最终项目


//JS电子邮件 var email=document.createElement(“p”); email.innerText=“输入电子邮件地址:”; document.body.appendChild(电子邮件); var inputEmail=document.createElement(“输入”); inputEmail.type=“text”; inputEmail.setAttribute(“id”、“电子邮件”); document.body.appendChild(inputEmail); //html中单击表单按钮时的电子邮件验证 函数validateEmail(inputEmail){ 变量re=/^[^\s@]+@[^\s@]+\.[^\s@]+$/; var testRe=re.test(输入电子邮件); testRe; 如果(testRe!=true){ window.alert(“无效的电子邮件地址,请重新输入”); } 否则{ var openWindow=window.open(“”); openWindow.document.write(inputEmail); } }

如果有人能就这个问题提供意见,我将不胜感激。谢谢。我已经解决了你的问题。现在它开始工作了。检查一下

var email=document.createElement(“p”);
email.innerText=“输入电子邮件地址:”;
document.body.appendChild(电子邮件);
var inputEmail=document.createElement(“输入”);
inputEmail.type=“text”;
inputEmail.setAttribute(“id”、“电子邮件”);
document.body.appendChild(inputEmail);
//html中单击表单按钮时的电子邮件验证
函数validateEmail(){
var inputEmail=document.getElementById('email')。value;//获取电子邮件id
变量re=/^[^\s@]+@[^\s@]+\.[^\s@]+$/;
var testRe=re.test(输入电子邮件);
testRe;
如果(testRe!=true){
window.alert(“无效的电子邮件地址,请重新输入”);
}
否则{
var openWindow=window.open();
openWindow.document.write(inputEmail);
}
}

Web115最终项目



添加.value以获得如下输入电子邮件:

var testRe = re.test(inputEmail.value);

问题很简单,当实际要测试的是
inputEmail.value
时,您将
inputEmail
作为参数传递给
test()
。下面的演示应该有效:

const validateEmail=(e,inputEmail)=>{
e、 预防默认值();
如果(/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(inputEmail.value)){
log(`${inputEmail.value}是一个有效的电子邮件地址:)`);
返回true;
}
console.log(`${inputEmail.value}是无效的电子邮件地址。请修复!`);
返回false;
};
常量init=()=>{
var email=document.createElement(“p”);
email.innerText=“输入电子邮件地址:”;
document.body.appendChild(电子邮件);
var inputEmail=document.createElement(“输入”);
inputEmail.type=“text”;
inputEmail.setAttribute(“id”、“电子邮件”);
document.body.appendChild(inputEmail);
document.querySelector('form').addEventListener('submit',e=>validateEmail(e,inputEmail));
};
init()

Web115最终项目



解决了它不遵循弹出警报框的if语句的问题。但它不是执行else。我的问题与上述评论相同;这就解决了它不遵循弹出警报框的if语句的问题。但它并没有执行else,所以它并没有打开一个新的网页,也并没有编写input@KButler兄弟,这个密码工作正常。无法从stackoverflow打开新窗口。因为stackoverflow已阻止此权限。您可以在pc上尝试此代码,也可以在此链接中尝试。我刚刚在链接中保存了这段代码。给它检查一下。@Shorwin Barua,不管出于什么原因,它最初对我不起作用。不过,我现在已经让它正常工作了。谢谢你的好意+1什么才是有效的电子邮件地址?我只是想确认你的正则表达式实际上就是这么做的。它正在进行基本测试。“下划线”的任意字符和任意数量。即:whoknows@whatever.com
var testRe = re.test(inputEmail.value);