laravel6.0で、パスワードを英数字8文字以上 and アルファベット1文字以上 and 数字1文字以上で、記号は有っても無くてもOKなバリデーションを実装してみた。

laravel6.0で、パスワードを英数字8文字以上 and アルファベット1文字以上 and 数字1文字以上で、記号は有っても無くてもOKなバリデーションを実装してみた。

パスワードに記号NGって所もあるよな~。

laravel5.5で、パスワードを英数字12文字以上 and アルファベット1文字以上 and 数字1文字以上のバリデーションを実装してみた。

正規表現で、記号を1字で表す表現って無いのね~。
\d 数字: [0-9]
\w 単語構成文字:[a-zA-Z_0-9]

みたいなのがあれば良かったのだけど。

正規表現:半角の英字(アルファベット)、数字、記号の表現


一応調べてみたら、ASCIIコード的に半角スペース(0x20)からチルダ(0x7e)までで、[0-9A-Za-z]と記号を全てカバーできる表現があった。

記号一覧
32 0x20 SPC 空白文字
33 0x21 ! エクスクラメーション・マーク
34 0x22 ” ダブル・クオーテーション
35 0x23 # シャープ
36 0x24 $ ドルマーク
37 0x25 % パーセント
38 0x26 & アンパサンド(アンドマーク)
39 0x27 ‘ シングルクォーテーション
40 0x28 ( 左小カッコ
41 0x29 ) 右小カッコ
42 0x2a * アスタリスク
43 0x2b + 正符号(プラスマーク)
44 0x2c , カンマ
45 0x2d – ハイフン(マイナス)
46 0x2e . ドット
47 0x2f / スラッシュ
58 0x3a : コロン
59 0x3b ; セミコロン
60 0x3c < 小なり(不等号) 61 0x3d = イコール 62 0x3e > 大なり(不等号)
63 0x3f ? クエッションマーク(ハテナマーク)
64 0x40 @ アットマーク
91 0x5b [ 左大カッコ
92 0x5c \ 円マーク
93 0x5d ] 右大カッコ
94 0x5e ^ ハット
95 0x5f _ アンダバー(アンダスコア)
96 0x60 ` バック・クオート
123 0x7b { 左中カッコ
124 0x7c | パイプ
125 0x7d } 右中カッコ
126 0x7e ~ チルダ

実際のバリデーション。これで思った通りの動作になった。

chromeのパスワード自動生成って、記号は含まないのね~。