前にもランダム文字列生成は考えましだが、今回は、もっと細かい条件を追加してます。

①頭文字が数字にならない
  たまにありますよね・・・だめなとき。

②小文字英字, 大文字英字, 数字、全て含んでいる
  最近、これが条件なこと増えてきましたよね。。。


何回もぽちぽちして生成すればいいやん!
ってところなんですが、わからない人もいるでしょう。
実際、注意事項としてあげても、頭文字数字のパスワード希望してくる人いますもんね!笑


と、いうことで、ベースは前の記事とほとんど同じで、上の内容を追加してます。



<!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桁は小文字英字と大文字英字と数字の中から選ぶ
            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>&nbsp;<a href="javascript:;"><span class="js_change">更新</span></a>&nbsp;<a href="javascript:;"><span class="js_inputForm">フォームに反映</span></a>
    </form>
</body>
</html>



今回は、参考サイトなどがないので、簡単に解説いれましたー♪

少しだけ補足しますと、再帰関数を使っています。
function randomMakeは、ランダム文字列生成をした後、条件に合わなかった場合は、もう一度function randomMakeでランダム文字列生成します。
これを繰り返し、条件にあったランダム文字列が、フォームに表示されます。