前にもランダム文字列生成は考えましだが、今回は、もっと細かい条件を追加してます。
①頭文字が数字にならない
たまにありますよね・・・だめなとき。
②小文字英字, 大文字英字, 数字、全て含んでいる
最近、これが条件なこと増えてきましたよね。。。
何回もぽちぽちして生成すればいいやん!
ってところなんですが、わからない人もいるでしょう。
実際、注意事項としてあげても、頭文字数字のパスワード希望してくる人いますもんね!笑
と、いうことで、ベースは前の記事とほとんど同じで、上の内容を追加してます。
今回は、参考サイトなどがないので、簡単に解説いれましたー♪
少しだけ補足しますと、再帰関数を使っています。
function randomMakeは、ランダム文字列生成をした後、条件に合わなかった場合は、もう一度function randomMakeでランダム文字列生成します。
これを繰り返し、条件にあったランダム文字列が、フォームに表示されます。
①頭文字が数字にならない
たまにありますよね・・・だめなとき。
②小文字英字, 大文字英字, 数字、全て含んでいる
最近、これが条件なこと増えてきましたよね。。。
何回もぽちぽちして生成すればいいやん!
ってところなんですが、わからない人もいるでしょう。
実際、注意事項としてあげても、頭文字数字のパスワード希望してくる人いますもんね!笑
と、いうことで、ベースは前の記事とほとんど同じで、上の内容を追加してます。
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<title>ランダム文字列生成(もっと細かく!)</title>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script>
<script>
$(document).ready(function(){
var randomString = '';
var lower = 'abcdefghijklmnopqrstuvwxyz';
var upper = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
var numeral = '0123456789';
var capital = lower + upper;
var baseString = lower + upper + numeral;
function randomMake(){
randomString = '';
//頭文字は小文字英字と大文字英字の中から選ぶ
//頭文字は小文字英字と大文字英字の中から選ぶ
randomString += capital.charAt(Math.floor( Math.random() * 52));
//残りの7桁は小文字英字と大文字英字と数字の中から選ぶ
//残りの7桁は小文字英字と大文字英字と数字の中から選ぶ
for(var i=0; i<7; i++) {
randomString += baseString.charAt( Math.floor( Math.random() * 62));
}
//もし、数字が含まれていない もしくは 大文字英字が含まれていない もしくは 小文字英字が含まれていない いずれかの場合はもう一度ランダム文字列生成
//もし、数字が含まれていない もしくは 大文字英字が含まれていない もしくは 小文字英字が含まれていない いずれかの場合はもう一度ランダム文字列生成
if(!(randomString.match(/[0-9]/) && randomString.match(/[A-Z]/) && randomString.match(/[a-z]/))){
randomMake();
}
$('.js_randomView').val(randomString);
$('.js_inputForm').click(function(){
$('.js_password').val(randomString);
});
}
if($('.js_password').val() == ""){
randomMake();
}
$('.js_change').click(function(){
$('.js_password').val("");
randomMake();
});
});
</script>
</head>
<body>
<form>
<input type="text" name="password1" value="" class="js_password">
<input type="password" name="password2" value="" class="js_password">
<br />
<input type="text" name="randomString" value="" size="13" class="js_randomView" readonly> <a href="javascript:;"><span class="js_change">更新</span></a> <a href="javascript:;"><span class="js_inputForm">フォームに反映</span></a>
</form>
</body>
</html>
今回は、参考サイトなどがないので、簡単に解説いれましたー♪
少しだけ補足しますと、再帰関数を使っています。
function randomMakeは、ランダム文字列生成をした後、条件に合わなかった場合は、もう一度function randomMakeでランダム文字列生成します。
これを繰り返し、条件にあったランダム文字列が、フォームに表示されます。