1

重複の可能性:
Javascript でメールアドレスを検証しますか?

PHP/MySQL を使用してデータベースに投稿する HTML フォームがあります。フォームの電子メール セクションで、ユーザーが有効な電子メール アドレス形式ではない電子メール アドレスを入力すると、エラー メッセージが表示されるようにします。このようなコードをモデリングしていますが、うまくいきません。

フォームの送信ボタンを押すたびに、フォームが送信され、PHP アクションが正常に機能することに注意してください。問題は、フォームに好きなものを入力でき、問題なく通過することです。「有効なメールアドレスではありません」というエラーメッセージを表示させたいです。PHP経由でも検証できることは理解していますが、クライアント側でも検証したいと思います。

誰でも手伝ってもらえますか?

    <script type="text/javascript">
function validateEmail()
{
var x=document.forms["test"]["email"].value;
var atpos=x.indexOf("@");
var dotpos=x.lastIndexOf(".");
if (atpos<1 || dotpos<atpos+2 || dotpos+2>=x.length)
 {
alert("Not a valid e-mail address");
return false;
 }
 }
  </script>


  <form name"test" action="roads.php" onsubmit="return validateEmail();" method="post">

  <input type="text" name="email" placeholder="Enter your e-mail" />

   <input type="submit" value="Show Me!" />

   </form>
4

2 に答える 2

1

HTML にa=がありません。フォーム名 test.. にはなりません。また、javascript は名前 test のフォームを見つけることができず、エラーをスローします... javascript エラーのコンソールログを確認してください..

<form name"test" action="roads.php" onsubmit="return validateEmail();" method="post">

<form name="test" action="roads.php" onsubmit="return validateEmail();" method="post">

作業コード

于 2012-08-21T05:11:05.930 に答える
0

フォームとそのフィールドにアクセスするためのより良い方法があります-また、trueを返すことを忘れないでください

仮定<form id="testform" action="roads.php" method="post">

目立たないスクリプトを使用できます

<script>
window.onload=function() {
  document.getElementById("testform").onsubmit=function () {
    var email=this.email.value;
    var atpos=x.indexOf("@");
    var dotpos=x.lastIndexOf(".");
    if (atpos<1 || dotpos<atpos+2 || dotpos+2>=email.length) {
      alert("Not a valid e-mail address");
      return false;
    }
    return true;
  }
}
</script>
于 2012-08-21T05:23:39.343 に答える