java正则表达式问题?
PHPz
PHPz 2017-04-18 09:07:48
0
5
400

用正则表达式构造匹配:

  1. 密码必须由数字、字符、特殊字符三种同时存在组成;

  2. 密码长度不能少于8个字符;

PHPz
PHPz

学习是最好的投资!

全員に返信(5)
小葫芦

リーリー

いいねを押す +0
巴扎黑

検証後、@BodhiXuguang の答えは間違っています。たとえば、hello123 は一致しますが、要件を満たしていません。また、 8 個のスペースも一致しますが、要件を満たしていません。すべての特殊記号を追加する方法はありません。

(?=[a-zA-Z0-9_#@]+) を追加して、パスワードに指定されたもの以外の特殊記号が含まれないようにすることはできますが、パスワードに 3 つの記号が含まれている必要があるという保証はありません。

すべての数字/文字/特殊記号ではなく、2 種類以上の記号が含まれていれば結果が得られます。

実際、これは通常の質問ではありません。同様の質問を参照してください

いいねを押す +0
伊谢尔伦

6 つの状況をすべてリストします

いいねを押す +0
伊谢尔伦

@BodhiXuguang のアイデアは正しいです。否定的な先読みを肯定的な先読みに置き換えて、いくつかの調整を加えます。
(?=.d.)(?=.[a-zA-Z].)(?=.[_#@].).{8,}

いいねを押す +0
迷茫

この問題は正規表現で解決すべきではないと思います。各ツールには、使用に適した独自のシナリオがあります。シナリオ内で正規表現を使用して解決するのは適切ではないと思います。 . 判定は実装が簡単で非常に読みやすいのですが、なぜ正規表現を使用する必要があるのでしょうか。 ?

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート