javascript正则表达式不起作用:至少一个0-9,一个a-z,一个a-z,一个来自$-_.+*'()

javascript regex not working: atleast one 0-9, one a-z, one A-Z, one from $-_. +!*'()

本文关键字:一个 a-z 不起作用 正则表达式 javascript      更新时间:2023-09-26

这个正则表达式让我抓狂。我以为它会起作用。但它与链接中的任何内容都不匹配

正则表达式为:

^[a-zA-Z](?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[$'-_. +!*'()])[a-zA-Z0-9$'-_. +!*'()]*$

要求是:

以a-zA-Z开头必须有:一个小写,一个大写,一个来自给定的spcl字符ONLY(其他字符无效),最后是10到40个字符长。

您可以将此正则表达式与MULTILINE m标志一起使用:

/^[a-zA-Z](?=.*[a-z])(?=.*[A-Z])(?=.*'d)(?=.*[-$_. +!*'()])['w$. +!*'()-]{9,39}$/mg

更新的演示

使用{9,39}而不是{10,40},因为您在开始时已经匹配了一个字符[a-zA-Z]

这可能会帮助您^.(?=.{10,40})(?=.'d)(?=.[a-zA-Z]).$