如何编写正则表达式来检查指定的密码

时间:2016-08-30 12:24:34

标签: regex

我正在尝试编写一个正则表达式,用于检查字符串是否包含6个或更多符号,包括1个或多个特殊符号[^ 0-9a-zA-Z \ s]和1个或多个[0-9a-zA-Z ]。 花了2小时而没有接近:/

2 个答案:

答案 0 :(得分:1)

也许这有一些帮助:

^(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?!.*\s).{6,13}$

密码表达,需要一个小写字母,一个大写字母,一个数字,6-13长度,没有空格。

匹配:

1agdH*$# | 1agdC*$# | 1agdB*$#

不匹配:

wyrn%@*&$# f | mbndkfh782 | BNfhjdhfjd&*)%#$)

这是基于Regex Lib条目here

答案 1 :(得分:0)

采用哈森的答案。 。 。

<script src="https://www.gstatic.com/charts/loader.js"></script>
<div id="chart_div"></div>
  • 6个或更多字符(regexp未以$结尾)
  • 一个或多个特殊字符(?=。* [^ 0-9a-zA-Z \ s])
  • 1或更多(?=。* [0-9a-zA-Z])
  • 没有空格(?!。* \ s)

一些测试数据,不匹配:

grep -P '^(?=.*[^a-zA-Z0-9\s])(?=.*[a-zA-Z0-9])(?!.*\s).{6}'

一些测试数据,YES匹配:

password
pa5sword
pa5sWord
pa5sWord
password
test
1agdA
1agd
wyrn%@*&amp;$# f
mbndkfh782
t1*$