kikuchih327
@kikuchih327

Are you sure you want to delete the question?

If your question is resolved, you may close it.

Leaving a resolved question undeleted may help others!

We hope you find it useful!

javascriptの正規表現について

解決したいこと

javascriptにて、パスワードの正規表現をご教授いただきたいです。
バリデーションは以下です。
・桁数:8~30
・文字列:半角大小英数字記号混合

発生している問題・エラー

/^(?=.?[a-z])(?=.?[A-Z])(?=.?[0-9])(?=.?[ -/:-@[-`{-~]){8,30}$/

上記で正規表現を行い、正規表現チェッカーにて「Password!123」を入力して試すも「一致しません」が返却されてしまいます。
http://okumocchi.jp/php/re.php
image.png

0

3Answer

パターンに文字!が無い?
少なくともxxxが一つ含まれるを実現したいのでしょうか?

・桁数:8~30
・文字列:半角大小英数字記号混合

この制約だけなら、
/^[a-zA-Z0-9!?/-]{8,30}$/ だと思います。(記号は適当)

1Like

/^([a-zA-Z0-9-/:-@[-`{-~!#]{8,30})$/

此方の式で可能かと思います

image.png

記号は何を対象とするか考えて記号ひとつひとつ記載することで定義します
上の式の9の次の「-」から「#」迄は仕様に合わせて設定されるといいと思います

~参考サイト~
【JavaScript】正規表現のパターンまとめ
https://codeclub965.com/?p=2038

[JavaScript] 正規表現パターンサンプル集
https://javascript.programmer-reference.com/js-regexp-sample/

正規表現:数字の表現。桁数や範囲など
https://www-creators.com/archives/4241#:~:text=%E6%95%B0%E5%AD%97%E3%81%AE%E3%80%8C%E6%A1%81%E6%95%B0%E3%80%8D%E3%82%92%E6%8C%87%E5%AE%9A%E3%81%99%E3%82%8B%E6%AD%A3%E8%A6%8F%E8%A1%A8%E7%8F%BE,-%E3%81%93%E3%81%AE%E8%A1%A8%E7%8F%BE%E3%81%AB&text=%E6%96%87%E5%AD%97%E3%82%AF%E3%83%A9%E3%82%B9%E3%82%92%E5%88%A9%E7%94%A8%E3%81%97,%E3%81%AE%E6%95%B0%E5%AD%97%E3%82%92%E8%A1%A8%E3%81%9B%E3%81%BE%E3%81%99%E3%80%82&text=%E6%B3%A8%E6%84%8F%E3%81%8C%E5%BF%85%E8%A6%81%E3%81%AA%E3%81%AE%E3%81%AF%E3%80%81%E4%B8%8A%E8%A8%98,%E3%81%97%E3%81%A6%E3%81%97%E3%81%BE%E3%81%86%E7%82%B9%E3%81%A7%E3%81%99%E3%80%82

0Like

Your answer might help someone💌