2017-10-20 103 views
-2

因此,我完成了一項家庭作業任務。但是我無法獲得正確測試的電子郵件地址。從我可以告訴一切都是正確的。Javascript正則表達式電子郵件地址

<!DOCTYPE html> 
 
<html> 
 
<head> 
 
<title>Lab 5, Part 3</title> 
 
<script> 
 
function validate() 
 
{ 
 
var email = document.forms["form1"]["email"].value; 
 
var emailValidator = "/^\w+([\.-]?\w+)[email protected]\w+([\.:]?\w+)+(\.[a-zA-Z0-9]{2,3})+$/"; 
 

 
if (!email.match(emailValidator)) 
 
{ 
 
\t alert("Not a valid Email Address"); 
 
\t 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> 
 
\t \t <input type="Submit" value="Submit"> 
 
</form> 
 

 
<p><a href=index.html>Back to Main Page</a></p> 
 

 

 
</body> 
 
</html>

+0

解決方案在這裏:https://stackoverflow.com/questions/46155/how-to-validate-email-address-in-javascript – nilobarp

+0

@nilobarp標記爲重複。 –

+0

*「從我所能告訴的一切都是正確的。」*如果是的話,那麼它會起作用,不是嗎? :)所以不,不是。你以某種方式混合了字符串文字和正則表達式文字的語法。在此瞭解正則表達式:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions。 –

回答

0

的問題是,你的一些混合字符串字面量和正則表達式的文字符號:

"/^\w+([\.-]?\w+)[email protected]\w+([\.:]?\w+)+(\.[a-zA-Z0-9]{2,3})+$/" 

"..."表示一個字符串,/.../表示正則表達式文字。雖然您可以將字符串文字傳遞給String#match,但字符串的整個內容將被解釋爲正則表達式模式。這意味着,給定上面的字符串,你的代碼將只匹配測試字符串字面上包含/^....,它不。

既可以使用一個字符串沒有正則表達式定界符逃避所有反斜線:

"^\\w+([\\.-]?\\w+)[email protected]\\w+([\\.:]?\w+)+(\\.[a-zA-Z0-9]{2,3})+$" 

或使用正則表達式字面(優選):

/^\w+([\.-]?\w+)+@\w+([\.:]?\w+)+(\.[a-zA-Z0-9]{2,3})+$/ 

Have a look at MDN to learn more about regular expression

+0

欣賞幫助;) – lainalex

0

與正確的正則表達式 變種爲EmailValidator代碼=/^ \ W + [\ W- +。] \ @ \ W +([ - ] \ W +)。 [一個-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> 
0

更改您的電子郵件驗證規則,

function validate() 
{ 
    var email = document.forms["form1"]["email"].value; 

    var emailValidator = /^(([^<>()\[\]\\.,;:\[email protected]"]+(\.[^<>()\[\]\\.,;:\[email protected]"]+)*)|(".+"))@((\[[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> 
 
\t <title>Lab 5, Part 3</title> 
 
\t <script> 
 
\t function validate() 
 
\t { 
 
\t \t var email = document.forms["form1"]["email"].value; 
 
\t \t var emailValidator = /^(([^<>()\[\]\\.,;:\[email protected]"]+(\.[^<>()\[\]\\.,;:\[email protected]"]+)*)|(".+"))@((\[[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,}))$/; 
 

 
\t \t if (!email.match(emailValidator)) 
 
\t \t { 
 
\t \t \t alert("Not a valid Email Address"); 
 
\t \t \t return false; 
 
\t \t }else{ 
 
\t \t \t alert("This is a Valid Email Address"); 
 
\t \t \t return true; 
 
\t \t } 
 
\t } 
 
\t </script> 
 
</head> 
 
<body> 
 
\t <h1 style="text-align:center">Lab 5, Part 3 for </h1> 
 
\t <h2 style="text-align:center">IT 3203</h2> 
 

 
\t <form name="form1" action="http://weblab.kennesaw.edu/formtest.php" onsubmit="return validate();" method="get"> 
 
\t \t <p> Email: <input type="text" id="email" name="email"></p> 
 
\t \t <input type="Submit" value="Submit"> 
 
\t </form> 
 

 
\t <p><a href=index.html>Back to Main Page</a></p> 
 

 

 
</body> 
 
</html>

相關問題