blog

J21 4桁の数字をランダムに取得する

1.アイデア:ページが読み込まれるとすぐに、4桁の認証コードを生成してCODEBOXボックスに入れます。CODEBOXボックスをクリックすると、4桁の認証コードを再生成してボックスに入れる必要がありま...

May 18, 2020 · 3 min. read
シェア

1.アイデア:ページがロードされるとすぐに、4桁のCAPTCHAを生成し、CODEBOXボックスに配置し、CODEBOXボックスをクリックすると、4桁のCAPTCHAを再生成し、ボックスに配置する必要があります!* 4桁のCAPTCHAを再生成してボックスに入れてください。

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">	
<title>認証コードを取得する</title>
<!-- IMPORT CSS -->
<style>
	* {
		margin: 0;
		padding: 0;
		user-select: none;
	}
	.codeBox {
		box-sizing: border-box;
		margin: 20px;
		width: 100px;
		height: 40px;
		line-height: 40px;
		text-align: center;
		border: 1px solid lightcoral;
		cursor: pointer;
		font-size: 20px;
		letter-spacing: 5px;
	}
</style>
</head>
<body>
<div class="codeBox" id="codeBox"></div>
<!-- IMPORT JS -->
<script>
	let codeBox = document.getElementById('codeBox');
	/* CAPTCHAを作成し、CODEBOXボックスに配置する。*/
	function createCode() {
		let area = '0123456789QWERTYUIOPASDFGHJKLZXCVBNMqwertyuiopasdfghjklzxcvbnm',
			codeText = '';
		for (let i = 1; i <= 4; i++) {
			let ran = Math.round(Math.random() * (61 - 0) + 0),
				char = area.charAt(ran);
			codeText += char;
		}
		codeBox.innerHTML = codeText;
	}
	// の実行でページをロードする。
	createCode();
// CODEBOXボックスをクリックして再生成する(ここでは、括弧の後に関数を追加することはできない),
//(即座に関数を実行させるのではなく、実行する時にクリックさせたいからだ)
	codeBox.onclick = createCode;
</script>	
</body>
</html>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">	
<title>認証コードを取得する</title>
<!-- IMPORT CSS -->
<style>
	* {
		margin: 0;
		padding: 0;
		user-select: none;
	}
	.codeBox {
		box-sizing: border-box;
		margin: 20px;
		width: 100px;
		height: 40px;
		line-height: 40px;
		text-align: center;
		border: 1px solid lightcoral;
		cursor: pointer;
		font-size: 20px;
		letter-spacing: 5px;
	}
</style>
</head>
<body>
<div class="codeBox" id="codeBox"></div>
<!-- IMPORT JS -->
<script>
	let codeBox = document.getElementById('codeBox');
// 検証コードの値の範囲(インデックスの範囲:0)~61)
let area = '0123456789QWERTYUIOPASDFGHJKLZXCVBNMqwertyuiopasdfghjklzxcvbnm';
// ランダムに4つ(数学.random())ランダムに4つのゼロを得る~61の間のインデックス値,
//AREA範囲に4文字を取るために、この値に基づいて、必要な4桁の検証コードに綴ることができる
	let codeText = '';
	for (let i = 1; i <= 4; i++) {
		// 各サイクルでランダムなインデックスを得る
		let ran = Math.round(Math.random() * (61 - 0) + 0);
		// インデックスに基づいて対応する文字を取得する
		let char = area.charAt(ran);
		// その結果
		codeText += char;
	}
	console.log(codeText);
</script>	
</body>
</html>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">	
<title>認証コードを取得する</title>
<!-- IMPORT CSS -->
<style>
	* {
		margin: 0;
		padding: 0;
		user-select: none;
	}
	.codeBox {
		box-sizing: border-box;
		margin: 20px;
		width: 100px;
		height: 40px;
		line-height: 40px;
		text-align: center;
		border: 1px solid lightcoral;
		cursor: pointer;
		font-size: 20px;
		letter-spacing: 5px;
	}
</style>
</head>
<body>
<div class="codeBox" id="codeBox"></div>
<!-- IMPORT JS -->
<script>
(function () {
 let area = '0123456789QWERTYUIOPASDFGHJKLZXCVBNMqwertyuiopasdfghjklzxcvbnm';
 let codeText = ''; */
 
 // 現在の需要では、正確なサイクルはもはや正確ではない。
 for (let i = 1; i <= 4;) {
 let ran = Math.round(Math.random() * (61 - 0) + 0);
 let char = area.charAt(ran);
 // スプライシングでは、まず元の文字列にCHARという文字がすでに存在するかどうかを判断する。,
 //スプライシングの存在が(大文字と小文字が同じである限り、見にスプライシングに存在しないも繰り返しとみなされる)行くことはない
 //=>(今大文字か小文字かにかかわらず、//とにかく、それは大文字に変換され、その後、存在を決定する)
 if (!codeText.toUpperCase().includes(char.toUpperCase())) {
 	codeText += char;
 	i++;
 	}
 }
// 特定のループ回数がわからないループには、一般的にwhileループを使う
	// while(条件){ } 条件が成立している限り、ループし続ける
	while (codeText.length < 4) {
		let ran = Math.round(Math.random() * (61 - 0) + 0),
			char = area.charAt(ran);
		if (!codeText.toUpperCase().includes(char.toUpperCase())) {
			codeText += char;
		}
	}
	console.log(codeText);
})();
</script>
</body>
</html>
Read next

スタジアムもブロックチェーンを利用できる

また、金融・財政分野では、ブロックチェーン技術の応用は、計算コストの削減や資産の信頼性の向上に寄与します。電子送り状を例にとると、宝安体育センターの駐車場の管理・運営を担当する盛世冀会社の郭敬利取締役会長は、次のように述べています。

May 18, 2020 · 2 min read