-4

パスワードフィールドを確認するための正規表現に取り組んでいます.現在、変数をテストするjavascriptが機能していますが、それを呼び出してフォームを確認しようとすると、javascriptで必要なことを確認できないようです.作成した JavaScript を使用してフォームのパスワードを確認しますが、作成した JavaScript と通信するフォームを取得できないようです。フォームと JavaScript は同じページにあります。それを実行したいのはその後ですパスワード要件を確認し、フォームを送信します。これが私がこれまでに持っているものです。

<html>
 <body>
    <script type="text/javascript">
     function checkPassword(password)
    {
    password = document.getElementById('thethePasswordFieldField').value;   
        var patt=/[a-z]/g;
        var patt2 = /[A-Z]/g; 
        var patt3 = /[0-9]/g; 
        var patt4 = /[~\!@#\$%\^&*_\-\+=`\|\\(\)\{\}\[\]:;"'<>,\.\?\/]/g; 

            var result=patt.test(password);
            var result2=patt2.test(password);
            var result3=patt3.test(password);
            var result4=patt4.test(password);

                if (!result)
            alert("Needs a lowercase & uppercase letter, a number & a special character.");

                if (!result2)
            alert("Needs a lowercase & uppercase letter, a number & a special character.");

                if (!result3)
            alert("Needs a lowercase & uppercase letter, a number & a special character.");

                if (!result4)
            alert("Needs a lowercase & uppercase letter, a number & a special character.");

                        if (result && result2 && result3 && result4)
            alert("");
            document.getElementById('frmApplication').submit();
    }
    </script>

    <form id="frmApplication" name="frmApplication" action="test.html" method="post">
    Password: <input type="text" name="thethePasswordFieldField" id="thethePasswordFieldField">  
   <a href="javascript:checkPassword()">Submit</a>
   </form>
    </body>
    </html>
4

2 に答える 2

2

getElementById「パスワード」フィールドにID属性を使用していますが、実際には割り当てていません。

試す:

<input type="password" name="thePasswordField" id="thePasswordField"/>

この規則を使用することをお勧めする理由は、実際のフィールド名として「パスワード」を使用しないようにするためです (この方法を使用すると IE はおそらく停止します)。もちろん、実際にはpassword型フィールドを使用します。

getElementById最初の行で「thePasswordField」ID 値を参照する必要があることは明らかです。

私はあなたのコードの残りの部分を精査していませんが、そこに ID 属性を入れて試してみてください。

于 2012-09-28T19:49:41.407 に答える
1

最初のサインで、あなたはすべてのブロックを閉じませんでした

 function checkPassword(password)
    {
.....
   { document.getElementById('frmApplication').submit();
    }

regexpについてはこちらを参照してくださいhow-to-validate-password-with-regular-expression

于 2012-09-28T19:53:05.393 に答える