javascript正则表达式中至多有5个字符的密码

问题描述:

我想在JavaScript中实现最大的情况下进行密码验证。javascript正则表达式中至多有5个字符的密码

我有一种情况,其中在密码用户应输入不具有限制

  1. 密码时应长度没有限制
  2. 除了(AZ,AZ),有最大5个字符(az,AZ)和密码长度没有限制
  3. charcter(az,AZ)将有最多5个密码。不止于此。顺序无关紧要。

我试图/[^A-Z,a-z]*(?:[A-Z,a-z][^A-Z,a-z]*){0,5}/

但它无法正常工作。 请帮助

+0

我不知道你在这里问什么。 – Quentin

+0

这种事情的一般建议:不要试图用一个正则表达式来做,不要试图用正则表达式来做每一个测试。 – Quentin

+0

他希望密码长度与用户想要的一样长,但少于或等于5个字符[a-zA.Z]。 – Bellian

你可以只算你有多少字符在密码像这样:

if(password.match(/[a-zA-Z]/g).length > 5){ /* reject */ } 
+0

拒绝> 5?类型不匹配? – iquellis

+0

我不知道你想告诉我什么.. – Bellian

+0

@iquellis不,这正是要求。 '字符(a-z,A-Z)最多有5个密码。不多于此。“ – Thomas

您可以使用下面的正则表达式进行密码验证。

((?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[@#$%]).{5,20}) 

它验证:

  1. 必须包含!位[0-9]
  2. 一个小写字符[A-Z]
  3. 一个大写字符[A-Z]
  4. 一个符号密码的[@#$%]
  5. 长度必须[5-20]之间。
+0

我需要一个正则表达式来测试我的“密码”以包含最多5个字母表(az,AZ)任何sequence.user可以输入任何数量和顺序的其他东西。我可以得到具体的正则表达式,而不是组合 –

+0

你可以告诉一些例子你的密码是怎么样吗?@SudhanshuAgarwal – nextin

打破它,解决它一步一步

字母只 - 定义字符集

/[A-Za-z]/ 

的5最大长度 - 使用量词

/[A-Za-z]{0,5}/ 

没有其他的东西是允许的 - 用^和$

/^[A-Za-z]{0,5}$/ 
+0

我需要一个正则表达式来测试我的“密码”包含任意序列中最多5个字母表(az,AZ)。用户可以输入其他任何数字和顺序的东西。我可以为我的需求获得特定的正则表达式吗?这只会测试最多5个字符的字符串,没有其他输入。在我的情况下,最多5个字符与任何数字或其他输入序列 –

+0

对不起,我一开始并不理解你的问题。 Bellian的解决方案是最好的解决方案,但您需要在密码中找不到任何a-zA-Z字符的情况下password.match(/ [a-zA-Z]/g)返回null – nvbach91