パスワード用に書かれた正規表現があります:
~^[a-z0-9!@#$%^&*()]{8,16}$~i
英数字の文字列と一致するはずですおよび8〜16文字の記号。ユーザーフレンドリのためにエラーメッセージを分割する必要があるため、最小長と最大長の要件を削除する必要があります-{8,16}の部分を削除しようとしましたが、それは壊れます。どうすればいいですか?事前に感謝します。
回答:
回答№1は2長すぎる文字列または短すぎる文字列を個別にチェックしているので、この正規表現は無効な文字がないことを確認しているだけです。これを行う必要があります。
~^[a-z0-9!@#$%^&*()]+$~i
+
手段 1つ以上, *
手段 ゼロ以上;どちらを使用するかは問題ではないでしょう。
不要なバックスラッシュも削除しました。これらの文字は、文字クラスでは特別な意味を持ちません(つまり、角括弧内)。