我有以下密码要求:1)长度应为6-15个字符2)应至少有一个字符3)应至少有一个字符4)应该至少有一个数字5)应该至少有一个特殊字符6)不应该有空格有人能为这个要求推荐一个RegEx吗?
nwlqm0z11#
不确定我是否会使用正则表达式:正则表达式并不总是适合任何可能的工作的正确工具。在这里,您指定了6个需求的列表;那么,为什么不使用6个不同的测试,每个需求一个?这6个不同的测试,我应该补充一下,将非常简单-而正则表达式将更难编写 (你要求帮助-你可能不会有6个测试)。这将使你的代码更容易理解,我敢打赌;-)而且:更容易维护;更容易添加/删除/更改对应于其中一个要求的其中一个条件。
von4xj4u2#
我不完全确定你所说的“特殊字符”是什么意思,所以我把它解释为\W,但如果你愿意,你可以改变它:
\W
^(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*\W)\S{6,15}$
字符串
1sbrub3j3#
Regexlib.com有大量的例子和一个可搜索的reg ex数据库。
3条答案
按热度按时间nwlqm0z11#
不确定我是否会使用正则表达式:正则表达式并不总是适合任何可能的工作的正确工具。
在这里,您指定了6个需求的列表;那么,为什么不使用6个不同的测试,每个需求一个?
这6个不同的测试,我应该补充一下,将非常简单-而正则表达式将更难编写 (你要求帮助-你可能不会有6个测试)。
这将使你的代码更容易理解,我敢打赌;-)
而且:更容易维护;更容易添加/删除/更改对应于其中一个要求的其中一个条件。
von4xj4u2#
我不完全确定你所说的“特殊字符”是什么意思,所以我把它解释为
\W
,但如果你愿意,你可以改变它:字符串
1sbrub3j3#
Regexlib.com有大量的例子和一个可搜索的reg ex数据库。