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.");
}
}
拡張子は違いはありませんが、問題はDOMに要素xがないことを推測しています。または、要素 'x'がレンダリングされる前にこのコードを実行しています(たとえば、スクリプトがHTMLの前にある場合)。 –
こんにちはAndaar、これはあなたの質問から話題にはなりませんが、完全に無効にするかもしれません。私はあなたがパスワード強度チェックのためにzxcvbnを使うことを検討することをお勧めします。 – Geoff
@cale_b と ます。 – Andaar