タイトルにあるように、文字列が半角英小文字・大文字と半角数字を全て含むかどうかを判定するという機会は少なくありません。特に、文字種の多さがパスワードの強さであるという教義の持ち主である場合に顕著です。もちろん長さは16文字以内です。 さて、この判定は一見単純に見えて一筋縄ではいきません。文字列の条件判定といえば正規表現ですが、「全て含む」という条件をきれいに書くのは少し難しいでしょう。そこで、この記事ではこの条件を判定する諸方法について雑に考察します。 愚直に正規表現を使う方法 正規表現では、「ある文字種をひとつ含む」という条件を書くのは簡単です。例えば半角小文字を含むという文字列は/[a-z]/という正規表現で判定可能です。これを用いれば、正規表現を3回使うことで上述の条件を判定できます。 const ratz = /[a-z]/, rAtZ = /[A-Z]/, r0t9 = /[0-
![JavaScriptで文字列が小文字・大文字・数字を全て含むかどうか判定する方法について - Qiita](https://cdn-ak-scissors.b.st-hatena.com/image/square/208935178c35a408506dbe7335570318e6a0933f/height=288;version=1;width=512/https%3A%2F%2Fqiita-user-contents.imgix.net%2Fhttps%253A%252F%252Fcdn.qiita.com%252Fassets%252Fpublic%252Farticle-ogp-background-412672c5f0600ab9a64263b751f1bc81.png%3Fixlib%3Drb-4.0.0%26w%3D1200%26mark64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTk3MiZoPTM3OCZ0eHQ9SmF2YVNjcmlwdCVFMyU4MSVBNyVFNiU5NiU4NyVFNSVBRCU5NyVFNSU4OCU5NyVFMyU4MSU4QyVFNSVCMCU4RiVFNiU5NiU4NyVFNSVBRCU5NyVFMyU4MyVCQiVFNSVBNCVBNyVFNiU5NiU4NyVFNSVBRCU5NyVFMyU4MyVCQiVFNiU5NSVCMCVFNSVBRCU5NyVFMyU4MiU5MiVFNSU4NSVBOCVFMyU4MSVBNiVFNSU5MCVBQiVFMyU4MiU4MCVFMyU4MSU4QiVFMyU4MSVBOSVFMyU4MSU4NiVFMyU4MSU4QiVFNSU4OCVBNCVFNSVBRSU5QSVFMyU4MSU5OSVFMyU4MiU4QiVFNiU5NiVCOSVFNiVCMyU5NSVFMyU4MSVBQiVFMyU4MSVBNCVFMyU4MSU4NCVFMyU4MSVBNiZ0eHQtYWxpZ249bGVmdCUyQ3RvcCZ0eHQtY29sb3I9JTIzMjEyMTIxJnR4dC1mb250PUhpcmFnaW5vJTIwU2FucyUyMFc2JnR4dC1zaXplPTU2JnM9NjBiMGIyNzFhZDMwOTM1MmQ3MGMxNjlkNjIxMDAxNmY%26mark-x%3D142%26mark-y%3D57%26blend64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZoPTc2Jnc9NzcwJnR4dD0lNDB1aHlvJnR4dC1jb2xvcj0lMjMyMTIxMjEmdHh0LWZvbnQ9SGlyYWdpbm8lMjBTYW5zJTIwVzYmdHh0LXNpemU9MzYmdHh0LWFsaWduPWxlZnQlMkN0b3Amcz1iYjIzOWE2MDUyYWI4ZjQ3YzRkZWI3M2Y1ZDJlYzAwMA%26blend-x%3D142%26blend-y%3D486%26blend-mode%3Dnormal%26s%3D2f0cf6c559ae54065a90624e600f46f2)