所以我完成了一项家庭作业。但我无法正确测试电子邮件地址。从我所知道的一切都是正确的。
<!DOCTYPE html>
<html>
<head>
<title>Lab 5, Part 3</title>
<script>
function validate()
{
var email = document.forms["form1"]["email"].value;
var emailValidator = "/^\w+([\.-]?\w+)+@\w+([\.:]?\w+)+(\.[a-zA-Z0-9]{2,3})+$/";
if (!email.match(emailValidator))
{
alert("Not a valid Email Address");
return false;
}
}
</script>
</head>
<body>
<h1 style="text-align:center">Lab 5, Part 3 for </h1>
<h2 style="text-align:center">IT 3203</h2>
<form name="form1" action="http://weblab.kennesaw.edu/formtest.php" onsubmit="return validate();" method="get">
<p> Email: <input type="text" id="email" name="email"></p>
<input type="Submit" value="Submit">
</form>
<p><a href=index.html>Back to Main Page</a></p>
</body>
</html>
&#13;
答案 0 :(得分:0)
你的代码正确的正则表达式 var emailValidator = /^\w+[\w-+.]\@\w+([-.]\w+).[a-zA-Z]{2,}$/ 强>
<!DOCTYPE html>
<html>
<head>
<title>Lab 5, Part 3</title>
<script>
function validate()
{
var email = document.forms["form1"]["email"].value;
var emailValidator = /^\w+[\w-+\.]*\@\w+([-\.]\w+)*\.[a-zA-Z]{2,}$/;;
if (!email.match(emailValidator))
{
alert("Not a valid Email Address");
return false;
}
}
</script>
</head>
<body>
<h1 style="text-align:center">Lab 5, Part 3 for </h1>
<h2 style="text-align:center">IT 3203</h2>
<form name="form1" action="http://weblab.kennesaw.edu/formtest.php" onsubmit="return validate();" method="get">
<p> Email: <input type="text" id="email" name="email"></p>
<input type="Submit" value="Submit">
</form>
<p><a href=index.html>Back to Main Page</a></p>
</body>
</html>
答案 1 :(得分:0)
更改您的电子邮件验证程序规则
function validate()
{
var email = document.forms["form1"]["email"].value;
var emailValidator = /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
if (!email.match(emailValidator))
{
alert("Not a valid Email Address");
return false;
}else{
alert("Correct Email Address");
return true;
}
}
您的电子邮件验证程序规则未完成。给出有效的正则表达式规则。
<!DOCTYPE html>
<html>
<head>
<title>Lab 5, Part 3</title>
<script>
function validate()
{
var email = document.forms["form1"]["email"].value;
var emailValidator = /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
if (!email.match(emailValidator))
{
alert("Not a valid Email Address");
return false;
}else{
alert("This is a Valid Email Address");
return true;
}
}
</script>
</head>
<body>
<h1 style="text-align:center">Lab 5, Part 3 for </h1>
<h2 style="text-align:center">IT 3203</h2>
<form name="form1" action="http://weblab.kennesaw.edu/formtest.php" onsubmit="return validate();" method="get">
<p> Email: <input type="text" id="email" name="email"></p>
<input type="Submit" value="Submit">
</form>
<p><a href=index.html>Back to Main Page</a></p>
</body>
</html>
&#13;
答案 2 :(得分:0)
问题是你有一些混合字符串文字和正则表达式文字符号:
$_GET
"/^\w+([\.-]?\w+)+@\w+([\.:]?\w+)+(\.[a-zA-Z0-9]{2,3})+$/"
表示字符串文字,"..."
表示正则表达式文字。虽然您可以将字符串文字传递给/.../
,但字符串的全部内容将被解释为正则表达式模式。这意味着,给定上面的字符串,您的代码将仅匹配测试字符串,字面上包含String#match
,而不是。{/ p>
使用字符串文字而不使用正则表达式分隔符和转义所有反斜杠:
/^....
或使用正则表达式文字(首选):
"^\\w+([\\.-]?\\w+)+@\\w+([\\.:]?\w+)+(\\.[a-zA-Z0-9]{2,3})+$"