Javascript 在ValidateJS中,密码应至少包含1个数字-Regex

Javascript 在ValidateJS中,密码应至少包含1个数字-Regex,javascript,jquery,regex,Javascript,Jquery,Regex,我正在为此使用ValidateJS库。这是我正在使用的正则表达式,但它也接受没有数字的密码 我的密码长度应为6到16个字符,其中至少有一个数字 我希望它只能接受以下密码: mypass1 1mypass my1pass 我至少有一个号码在里面 password: { presence: true, length: { minimum: 6, maximum: 16 },

我正在为此使用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"
          }
        },



你可以使用这个模式

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

你可以使用这个模式

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

在密码验证中,lookaheads非常好,请参见以下模式:
(?=.{6,16})(?=.*\d)。+

它使用两个pisitive Lookahead:

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

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

进一步详情:

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

*
-匹配零个或多个字符

\d
-匹配一个数字

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


在密码验证中,lookaheads非常好,请参见以下模式:
(?=.{6,16})(?=.*\d)。+

它使用两个pisitive Lookahead:

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

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

进一步详情:

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

*
-匹配零个或多个字符

\d
-匹配一个数字

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


更换此部件,它将对您有效

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

更换这个,它将为您工作

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

谢谢,我只使用了(?=.*\d)。+而且它很有效!因为我已经有6,16个长度了!谢谢,我只使用了(?=.*\d)。+而且它很有效!因为我已经有6,16个长度了!对我有效,但你应该删除正则表达式开头的
*
。对我有效,但你应该删除正则表达式开头的
*