密码必须包含以下任一条件

时间:2018-08-27 03:36:47

标签: javascript regex

密码必须包含以下任一条件

1)一个大写 2)一个小写 3)一个号码 4)一个特殊字符。

在上述条件下,如果三匹配,则允许输入有效密码。

类似于以下格式。

1)一个数字,一个小写字母,一个大写字母--->有效密码

2)一个数字,一个小写字母和一个特殊字符--->有效密码

3)一个数字,一个大写字母和一个特殊字符--->有效密码。

请帮助我如何为上述条件编写正则表达式。

我的要求是任意三个组合,一个数字,一个字母,一个特殊字符。这就像排列组合格式。 如果我写/(?=.\d)(?=.[az])(?=.[AZ])(?=.[-._@ ^])。{8,16} /格式我需要以其他方式验证这么多条件。

谢谢。

2 个答案:

答案 0 :(得分:0)

假设您的特殊字符为[\ ^ $。|?** +()

1)一个数字,一个小写字母,一个大写字母--->有效密码

[0-9][a-z][A-Z]

2)一个数字,一个小写字母和一个特殊字符--->有效密码

[0-9][a-z][\[\\\^\$\.\|\?\*\+\(\)]

3)一个数字,一个大写字母和一个特殊字符--->有效密码。

[0-9][A-Z][\[\\\^\$\.\|\?\*\+\(\)]

使用OR(|)组合它们

[0-9][a-z][A-Z]|[0-9][a-z][\[\\\^\$\.\|\?\*\+\(\)]|[0-9][A-Z][\[\\\^\$\.\|\?\*\+\(\)]

答案 1 :(得分:0)

如果pswd字符的顺序不重要,那么:

  1. 一个数字,一个小写字母,一个大写字母--->有效密码: Caused by: org.apache.camel.TypeConversionException: Error during type conversion from type: java.lang.String to the required type: java.lang.Integer with value ${rest.port} due java.lang.NumberFormatException: For input string: "${rest.port}"
  2. 一个数字,一个小写字母和一个特殊字符--->有效密码: \d[a-z][A-Z]
  3. 一个数字,一个大写字母和一个特殊字符--->有效密码: \d[a-z][\[\\\^\$\.\|\?\*\+\(\)]

因此,如果将其合并在一个正则表达式中: \d[A-Z][\[\\\^\$\.\|\?\*\+\(\)]

检查here