密码至少应包含1位数字-ValidateJS中的正则表达式

时间:2019-11-19 06:56:52

标签: javascript jquery regex

我正在为此使用ValidateJS库。这是我正在使用的正则表达式,但它也接受不带数字的密码。

我的密码应为6到16个字符,长度至少为一位。

我希望它仅能接受密码:

mypass1
1mypass
my1pass

我至少有一个数字。

        password: {
          presence: true,
          length: {
            minimum: 6,
            maximum: 16
          },
          format: {
            pattern: "^.*(?=.{6,16})(?=.*[a-zA-Z])(?=.*\d)[a-zA-Z0-9!@#$%]+$",
            message: "should contain at least one number"
          }
        },


3 个答案:

答案 0 :(得分:1)

您可以使用此模式

^(?=.*[A-Za-z])(?=.*\d)[A-Za-z\d]{8,}$

答案 1 :(得分:1)

在密码验证中,前瞻性很好,请参见以下模式:(?=.{6,16})(?=.*\d).+

它使用两个积极的前瞻:

(?=.{6,16})-确保我们至少有6个字符,最多16个字符

(?=.*\d).+-确保我们至少有一位数字

更多详细信息:

.{6, 16}-匹配6到16个任意字符

.*-匹配零个或多个任何字符

\d-匹配数字

.+-匹配任意一个或多个字符。

Demo

答案 2 :(得分:0)

替换它,它将为您服务

 format: {
   pattern: "^(?=.{6,16})(?=.*[0-9])(?=.*[a-zA-Z])([a-zA-Z0-9]+)$",
   message: "should contain at least one number"
 }