アプリ版:「スタンプのみでお礼する」機能のリリースについて

HTMLでJavaScriptを使ってパスワードの強化判定のプログラムを作成しています。
一通り作ってみたのですが、上手く動かず…
間違い、改善点を指摘して頂きたいです。


<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<title>パスワードの強化判定</title>
<script>
function Pasword(myForm)
{
let password;
let strength = 0; //強さ

text= document.querySelector('gate').value;

if (password.length < 6)
{
return '短すぎます!'
}

// 文字数が7より大きければ+1
if (password.length > 7)
{
strength += 1;
}
// 英字の大文字と小文字を含んでいれば+1
if (password.match(/([a-z].*[A-Z])|([A-Z].*[a-z])/))
{
strength += 1;
}

// 英字と数字を含んでいれば+1
if (password.match(/([a-zA-Z])/) && password.match(/([0-9])/))
{
strength += 1;
}

// 記号を含んでいれば+1
if (password.match(/([!,%,&,@,#,$,^,*,?,_,~])/))
{
strength += 1;
}

// 記号を2つ含んでいれば+1
if (password.match(/(.*[!,%,&,@,#,$,^,*,?,_,~].*[!,%,&,@,#,$,^,*,?,_,~])/))
{
strength += 1;
}

// 点数を元に強さ判定
if (strength < 2)
{
return '弱いです!';
}
else if (strength == 2)
{
return 'まあまあ強いです!';
}
else
{
return '強いです!';
}
}



</script>
</head>

<body>
<form name="pswForm">
パスワードを入力する。<br>
<input type="text" name="gate" value=""><br>
<input type="button" value="判定" onclick="Pasword(pswForm)">
</form>
</body>
</html>

A 回答 (2件)

上手く動かず、の原因を特定するため


デバッグ作業することを覚えましょう
https://developer.mozilla.org/ja/docs/Learn/Comm …

デバッグで原因が見つかったら、その解決方法も探しやすいでしょう

例) 変数 password が undefined なので判定できない
そもそも変数に値を代入する処理が有るのか確認

例) 関数 querySelector が null を返している
指定している "CSSセレクター" が正しいのか確認
https://developer.mozilla.org/ja/docs/Web/CSS/CS …

例) 関数 match が true を返すべき時に false を返す
指定している "正規表現" が正しいのか確認
https://developer.mozilla.org/ja/docs/Web/JavaSc …

例) 正しい判定結果を return しているのに表示されない
そもそも結果を表示する処理が有るのか確認
https://developer.mozilla.org/ja/docs/Web/API/Wi …
    • good
    • 0

return の値をvalueに設定していないからと、valueの値をtextに入れているのがpasswordの間違いではないでしょうか。

    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!