2016-11-07 9 views
0

私はこれを今のところ理解しようとしています。私は正規表現を使用して、ユーザーがHTMLフォームで入力するドメインと電子メールアドレスを比較する必要があります。私は正規表現が正しいと思いますが、コードをテストすると何も起こりません。何も起こらない理由は、Javascript:regexを使ってドメインを電子メールアドレスと比較する

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
    <title>Chapter 7 Assignment 2</title> 
    <meta http-equiv="content-type" content="text/html; charset=iso-8859-1" /> 

    <script type="text/javascript"> 
     /* <![CDATA[ */ 
     function domainCompare() { 
      var status = false; 
      var domainRegEx = new RegEx(/^[_a-zA-Z0-9\\-]+(\.[_a-zA-Z0-9\\-]+)*@ + document.myform.domain_name.value?/); 
      if (document.myform.email_address.value.search(domainRegEx) == -1) { 
       window.alert("Please enter an email address."); 
      } 
      else if (document.myform.email_address.value != domainRegEx) { 
       window.alert("They do not match."); 
      } 
      else { 
       window.alert("They match!"); 
       status = true; 
      } 
      return status; 
     } 
     /* ]]> */ 
    </script> 
</head> 
<body> 
    <center> 
    <h3>Email Address Validator</h3> 
    <form name="myform"> <!--onsubmit="return domainCompare();"--> 
     <p> 
      E-mail Domain: <input type="text" name="domain_name" size="30" /> 
      E-mail Address: <input type="text" name="email_address" size="30" /> 
     </p> 
     <p> 
      <input type="submit" value="Submit" onclick="domainCompare();"/> 
     </p> 
    </form> 
    </center> 
</body> 
</html> 

答えて

0

まず - あなたがタイプミスがあります: はここに私のコードです

var domainRegEx = new RegEx 

は次のようになります。

var domainRegEx = new RegExp 
0

スタートnew RegExpnew RegExを変更すること。その後、フィードバックを得るようになります。これは、コンソールを開いてjavascriptでエラーを探すと判断できます。

これは、ドメインの正規表現から始めるのに適しています。

/^([a-zA-Z0-9]+\.)?[a-zA-Z0-9][a-zA-Z0-9-]+\.[a-zA-Z]{2,6}?$/i 
関連する問題