C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[4]: パスワードの複数候補


(過去ログ 19 を表示中)

[トピック内 6 記事 (1 - 6 表示)]  << 0 >>

■7692 / inTopicNo.1)  パスワードの複数候補
  
□投稿者/ lima (1回)-(2007/09/13(Thu) 08:00:46)

分類:[JavaScript] 

はじめまして、さっそくですが質問です。
JavaScriptのコードです。

function check(){
if (document.f1.password.value=="123456")
{window.location.href="new.htm"}
else {alert("違います")}
}

簡易パスワードのようなものを設置したいのですが、複数のパスワードを用意したいのです。
しかし、上記のものではひとつのみ「123456」しか設定できません・・・

2つ以上のパスワードを通すのには、どのようにすればよいのでしょうか。
ご教授よろしくお願いいたします。

引用返信 編集キー/
■7693 / inTopicNo.2)  Re[1]: パスワードの複数候補
□投稿者/ も (4回)-(2007/09/13(Thu) 08:08:54)
No7692 (lima さん) に返信
> 2つ以上のパスワードを通すのには、どのようにすればよいのでしょうか。
> ご教授よろしくお願いいたします。

なーんにも考えないで
function check(){
if(document.f1.password.value="123456")
{wndow.location.href="new.htm"} <-動く?
else {alert("違います")} <-動く?

if(document.f1.password.value="abcdef")
{wndow.location.href="new.htm"} <-動く?
else {alert("違います")} <-動く?
}

こんな感じで条件分岐を2つ並べればいいのでは?
それとも何か考えていらっしゃる?
引用返信 編集キー/
■7695 / inTopicNo.3)  Re[1]: パスワードの複数候補
□投稿者/ Mr.T (92回)-(2007/09/13(Thu) 09:08:34)
Mr.Tです、こんにちは。

■No7692 (lima さん) に返信
> はじめまして、さっそくですが質問です。
> JavaScriptのコードです。
> 
> function check(){
> if (document.f1.password.value=="123456")
> {window.location.href="new.htm"}
> else {alert("違います")}
> }
> 
> 簡易パスワードのようなものを設置したいのですが、複数のパスワードを用意したいのです。
> しかし、上記のものではひとつのみ「123456」しか設定できません・・・
> 
> 2つ以上のパスワードを通すのには、どのようにすればよいのでしょうか。
> ご教授よろしくお願いいたします。

二回分のチェックを走らせるのであれば、もさんのやり方でよいように思いますが、
そうではなくパスワードそのものを複数もって、そのどれかに当てはまればよい
というのであれば、以下のやり方のような形でしょうか。

function check(){
	var passwordAry = ['aaa','bbb','ccc'];
	var key;
	var flg=false;
	var checkWord = document.all("TextInput").value;

	for (key in passwordAry){
		if (checkWord == passwordAry[key]) {
			flg = true;
			break;
		}
	}

	if (flg){
		alert("Check OK");
	}
	else{
		alert("Check NG");
	}
}

引用返信 編集キー/
■7743 / inTopicNo.4)  Re[2]: パスワードの複数候補
□投稿者/ lima (2回)-(2007/09/14(Fri) 02:59:04)
2007/09/14(Fri) 03:00:01 編集(投稿者)
返信ありがとうございます。もさんのコードを試してみましたところ、2個目の候補のパスワードを入力した際に、1個目のパスワード認証では弾かれて「違います」と
一度表示されてから、2個目の認証で通ってnew.htmに飛ぶという動きをしたもので、やや不自然に感じました。

そこで思いついたのですが、以下のようにしたら、すんなりと2個のパスワードのどちらでも同じ動きをしてくれました。else ifを増やせば、何個でもいけそうです。

function check(){
if (document.f1.password.value=="123456")
{window.location.href="new.htm"}
else if (document.f1.password.value=="abcdef")
{window.location.href="new.htm"}
else {alert("違います")}
}

もさんのコードが大変参考になりました。ありがとうございました。

Mr.Tさん

こちらも試してみたのですが、「aaa」「bbb」「ccc」いずれも、「Check NG」と返ってきてしまいました。
Mr.Tさんのコードのvar checkWord = document.all("TextInput").value;を、var checkWord = document.all("fo1").anser;と変更して試しましたが、
この操作は間違いなのでしょうか。フォームのnameがfo1、テキストボックスのnameがanserなので、これにあわせて変更したつもりなのですが・・・

引用返信 編集キー/
■7744 / inTopicNo.5)  Re[3]: パスワードの複数候補
□投稿者/ Mr.T (93回)-(2007/09/14(Fri) 05:05:59)
Mr.Tです、こんにちは。
No7743 (lima さん) に返信
> 2007/09/14(Fri) 03:00:01 編集(投稿者)
>
> 返信ありがとうございます。もさんのコードを試してみましたところ、2個目の候補のパスワードを入力した際に、1個目のパスワード認証では弾かれて「違います」と
> 一度表示されてから、2個目の認証で通ってnew.htmに飛ぶという動きをしたもので、やや不自然に感じました。
>
> そこで思いついたのですが、以下のようにしたら、すんなりと2個のパスワードのどちらでも同じ動きをしてくれました。else ifを増やせば、何個でもいけそうです。

ちょっと勘違いしてました。もさんの例は、複数回のチェックを行うもので、
パスワードを複数個持つということではない、と思ってました。
つまり、最初のチェックでひっかかったら、return falseにするんかな、と。

limaさんの意図は、そうじゃなかったんですね。

> Mr.Tさんのコードのvar checkWord = document.all("TextInput").value;を、var checkWord = document.all("fo1").anser;と変更して試しましたが、
> この操作は間違いなのでしょうか。フォームのnameがfo1、テキストボックスのnameがanserなので、これにあわせて変更したつもりなのですが・・・

変更の仕方が違います。
var checkWord = document.all("anser").value;
もしくは、
var checkWord = document.f1.password.value;
でOkです。


#解決できたなら、解決済みにチェックをお願いします。
引用返信 編集キー/
■7797 / inTopicNo.6)  Re[4]: パスワードの複数候補
□投稿者/ lima (3回)-(2007/09/14(Fri) 21:43:03)
No7744 (Mr.T さん) に返信

おおっ、ありがとうございました。もさんのものと合わせて、とても良い参考になりました。
解決済みにチェックしておきます。
解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -