- 已关闭**。此问题需要details or clarity。当前不接受答案。
- 想要改进此问题?**添加详细信息并通过editing this post阐明问题。
15小时前关门了。
Improve this question
我正在尝试使用regEx作为密码。(JavaScript)
- [更新]*
- 正则表达式要求**
- 必须是6 - 18个字符组成的英文字母(大写或小写),数字和特殊字符.(至少每一个)
- 必须以字母开头。
- 字母、数字和特殊字符的顺序无关紧要。
- 不允许使用韩文字母。
^(?=.*[0-9])(?=.*[-a-zA-Z])(?=.*[`~@#!$%^&+=_-]){8,16}.*$
在下列情况下,这不应通过测试。
1.它有超过16个字符。
1.它包含一个韩文字符。
但上述案例均获通过。
在这里我分享我的regex测试链接。
https://regexr.com/75qhd
先谢谢你!
1条答案
按热度按时间ioekq8ef1#
试试这个:
编辑:之前的正则表达式匹配
asAS12
한글之类的东西,我在
[~@#!$%^&+=_-]+
这部分之后添加了$
,以确保字符串以[]
中列出的特殊字符之一结尾,感谢@Wiktor Stribizew提到这个问题。^
行/字符串的开头。(?=.{6,18}$)
确保字符串的长度为6-18
。(?=.*\d)
确保必须至少有一个数字。(?=.*[
~@#!$%^&+=_-])确保
[]`中必须至少列出一个特殊字符(?=[A-Za-z][A-Za-z\d
~@#!$%^&+=_-]+$)`[A-Za-z]
确保第一个字符是字母。[A-Za-z\d
~@#!$%^&+=_-]+$,后跟
[]`中列出的一个或多个字母、数字或特殊字符(无论顺序如何),后跟字符串/行的结尾。.*
如果满足上述要求,则匹配整个字符串。$
行/字符串的结尾。参见regex demo