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

用正则表达式构造匹配:

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

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

PHPz
PHPz

学习是最好的投资!

membalas semua(5)
小葫芦
(?!^\d+$)不能全是数字
(?!^[a-zA-Z]+$)不能全是字母
(?!^[_#@]+$)不能全是符号(这里只列出了部分符号,可自己增加,有的符号可能需要转义)
.{8,}长度不能少于8位
合起来就是
(?!^\d+$)(?!^[a-zA-Z]+$)(?!^[_#@]+$).{8,}
巴扎黑

Selepas pengesahan, jawapan @BodhiXuguang adalah salah Contohnya, hello123 boleh sepadan, tetapi ia tidak memenuhi keperluan Dan 8 ruang juga boleh sepadan, tetapi ia tidak memenuhi keperluan Anda tiada cara untuk menambah semua simbol khas.

Walaupun (?=[a-zA-Z0-9_#@]+) boleh ditambah untuk memastikan kata laluan tidak akan mengandungi simbol khas selain daripada yang dinyatakan, masih tiada jaminan bahawa ia mesti mempunyai tiga simbol.

Bukan semua nombor/huruf/simbol khas, hasilnya adalah asalkan mengandungi lebih daripada 2 jenis simbol.

Sebenarnya, ini bukan soalan biasa, sila rujuk soalan yang serupa

伊谢尔伦

Senaraikan semua 6 situasi

伊谢尔伦

Idea @BodhiXuguang betul. Gantikan pandangan negatif dengan pandangan positif dan buat beberapa pelarasan.
(?=.d.)(?=.[a-zA-Z].)(?=.[_#@].).{8,}

迷茫

Saya rasa masalah ini tidak sepatutnya diselesaikan dengan ungkapan biasa Setiap alat mempunyai senario sendiri yang sangat sesuai untuk digunakan untuk menggunakan ungkapan biasa jika pernyataan. Penghakiman adalah mudah untuk dilaksanakan dan sangat mudah dibaca. Mengapakah kita mesti menggunakan ungkapan biasa? ?

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan