gpt4 book ai didi

javascript - JavaScript 中的电子邮件验证

转载 作者:行者123 更新时间:2023-12-02 23:23:18 25 4
gpt4 key购买 nike

我不知道为什么正则表达式模式不起作用!我找不到任何错误!但是当我使用错误的输入运行它时,它只会跳过模式测试行并移至下一页!

<!DOCTYPE html>
<html>
<head>
<title>Validation</title>
<script>
function validate()
{
var email=document.myform.email.value;
var pass=document.myform.pass.value;
var phno=document.myform.phno.value;
if(email!="" && pass!="" && phno!="")
{
var emailcheck=/^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
var passcheck=/(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{8,10}/;
var phonecheck=/^[0-9]{10}+$/;
var result1=emailcheck.test(email);
var result2=passcheck.test(pass);
var result3=phonecheck.test(phno);
}
else
{
alert("Validation failed");
return false;
}
if(result1 && result2 && result3)
{
alert("Validation Successful");
//return true;
}
else
{
alert("Validation Failed");
document.write("email should be as (xxx@gmail.com)"+"<br/>"+"password should be as (pass123)"+"<br/>"+"phone should be as (98659-57575)"+"<br/>");
return false;
}
}
</script>
</head>

<body>
<form name="myform" action="number.php" onsubmit="return validate()">
Email:<input type="text" name="email"/><br/>
Password:<input type="text" name="pass"/> <br/>
Phone:<input type="text" name="phno"/> <br/>
<input type="submit" value="submit"/>
</form>
</body>
</html>

如果我提供任何与模式不匹配的输入,我预计警报验证会失败。

最佳答案

您的代码存在正则表达式错误,导致脚本失败。由于 validate 脚本失败,onsubmit 将找不到 validate 函数,因此一切都会毁掉。
使用在线正则表达式测试网站(如 this one)检查您的正则表达式是一个很好的行为。
我认为如果您将代码的正则表达式部分更改为此,一切都会正常工作:

var emailcheck=/^([A-Za-z0-9_\\-\\.])+\\@([A-Za-z0-9_\\-\\.])+\\.([A-Za-z]{2,4})$/;
var passcheck=/(?=.*\\d)(?=.*[a-z])(?=.*[A-Z]).{8,10}/;
var phonecheck=/^[0-9]{10}$/;

您会注意到,我已将每个 / 更改为 //,并且还删除了最后一个正则表达式中的 +,因为它是无效。
我希望它有帮助。

关于javascript - JavaScript 中的电子邮件验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56840959/

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