Regex HTML5-输入,使用占位符属性作为“输入”;例如;,可以使用pattern属性来确保;例如;没有提交吗?

Regex HTML5-输入,使用占位符属性作为“输入”;例如;,可以使用pattern属性来确保;例如;没有提交吗?,regex,html,passwords,Regex,Html,Passwords,我正在创建一个注册表。 我想在密码输入中使用占位符属性来部分解释使用模式属性进行验证时使用的正则表达式类型 这是我在www.html5pattern.com上找到的正则表达式: (?=^.{6,}$)((?=.*\d)|(?=.*\W+))(?![.\n])(?=.*[A-Z])(?=.*[a-z]).*$ 该正则表达式的解释如下: Password (UpperCase, LowerCase, Number/SpecialChar and min 6 Chars) 我在占位符属性和titl

我正在创建一个注册表。 我想在密码输入中使用占位符属性来部分解释使用模式属性进行验证时使用的正则表达式类型

这是我在www.html5pattern.com上找到的正则表达式:

(?=^.{6,}$)((?=.*\d)|(?=.*\W+))(?![.\n])(?=.*[A-Z])(?=.*[a-z]).*$
该正则表达式的解释如下:

Password (UpperCase, LowerCase, Number/SpecialChar and min 6 Chars)
我在占位符属性和title属性中使用的示例如下:
Examp1e
。 我希望确保用户不会专门输入“Examp1e”作为密码。
是否有人对我应该如何执行此任务有任何建议、建议或输入?

当通过html5模式属性验证输入时,此正则表达式对我非常有效,因为我无法从有效地址中生成无效的:


(?=^.{6,20}$)(?=.*\d)|(?=.*\W+)(?![.\n])(?=.[A-Z])(?=.[A-Z])。$

您开始使用的正则表达式不好。首先,JavaScript的
\W
相当于
[^A-Za-z0-9\]
:任何不是ASCII单词字符的字符。这包括所有ASCII标点、空格和控制字符,以及所有非ASCII字符。我所知道的“特殊角色”没有官方定义,但我很确定这不是作者的意思

为了进一步说明这一点,我假设密码中只允许使用ASCII字符,“特殊字符”指的是标点符号:

[!“\$%&'()*+,\-./:;?@\[\\\]^ `{124;}]
这将使正则表达式

^(?=[!-~]{6,20}$)(?=.[A-Z])(?=.[A-Z])(?=.[\d!'$%&'(*+,\-。/:;?@[\\\]^{*$
注:

  • 注意我是如何将
    ^
    从第一组中拉出的;它在那里锚定整个正则表达式,而不仅仅是一个前瞻

  • 我还将“数字”和“特殊”外观合并为一个。在这种情况下这没什么大不了的,但我的一条经验法则是,如果角色类能够完成任务,就不应该使用替换

  • [!-~]
    是一种用于表示任何“可见”ASCII字符(即除空格或控制字符以外的任何字符)的旧Perl习惯用法

  • 我一点也不知道原作者想用这个
    (?![.\n])
    做什么


现在才看到这一点,非常感谢,这给了我很多感觉!