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

时间:2016-04-16 06:04:53

标签: javascript regex

这个正则表达式让我发疯了。我认为它会起作用。但它与link here

中的任何内容都不匹配

正则表达式是:

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

要求是:

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

2 个答案:

答案 0 :(得分:1)

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

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

https://journalxtra.com/linux/howto-pass-data-variables-to-curl-to-autofill-web-forms/

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

答案 1 :(得分:0)

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