2017-01-21 18 views
0

JavaScriptでスクリプトを書きましたが、拡張子.htmlのページで実行しようとすると完全に動作します。私は次のエラーを取得するの.phpとページ上でそれを実行しようとする。しかし:RegExpは.html拡張子で完全に動作しますが、.php拡張子では動作しません。

Uncaught TypeError: Cannot read property 'match' of undefined 
at HTMLButtonElement.CheckStrength

これは私のコードです:

var x = document.getElementById("password"); 
var button = document.getElementById("submit"); 
var check = /[0-9]+$/; 

function CheckStrength(){ 
    if(x.value.length > 7 && x.value.match(check) != null) 
     { 
      alert("Your password is strong."); 
     } 
    else if (x.value.length > 3 && x.value.length <= 7) 
     { 
      alert("Your password strength is medium."); 
     } 
    else 
     { 
      alert("Your passwword s**k."); 
     } 
} 
+2

拡張子は違いはありませんが、問題はDOMに要素xがないことを推測しています。または、要素 'x'がレンダリングされる前にこのコードを実行しています(たとえば、スクリプトがHTMLの前にある場合)。 –

+0

こんにちはAndaar、これはあなたの質問から話題にはなりませんが、完全に無効にするかもしれません。私はあなたがパスワード強度チェックのためにzxcvbnを使うことを検討することをお勧めします。 – Geoff

+0

@cale_b ます。

Andaar