Javascript 至少一个字符和一个数字的正则表达式,重复次数不超过两个
我正在尝试正则表达式中的一种,条件如下: 至少1个号码, 至少1个字符, 长度应为3至16位。 任何字符和数字的重复次数不得超过2次 我在这里尝试了一个正则表达式Javascript 至少一个字符和一个数字的正则表达式,重复次数不超过两个,javascript,c#,asp.net,regex,Javascript,C#,Asp.net,Regex,我正在尝试正则表达式中的一种,条件如下: 至少1个号码, 至少1个字符, 长度应为3至16位。 任何字符和数字的重复次数不得超过2次 我在这里尝试了一个正则表达式 (^(?=.*\d)(?=.*[a-zA-Z]).{3,16}$)\1{2,} 但这并没有奏效 有效和无效帖子的示例: advan@123-有效 advan@4-有效 advvvan@123-无效 advan@11123-无效 第123条-有效 1231123123ab-有效 adv12-有效 您可以尝试使用此正则表达式(编辑的使
(^(?=.*\d)(?=.*[a-zA-Z]).{3,16}$)\1{2,}
但这并没有奏效
有效和无效帖子的示例:
- advan@123-有效
- advan@4-有效
- advvvan@123-无效
- advan@11123-无效
- 第123条-有效
- 1231123123ab-有效
- adv12-有效
请参阅。发布一些有效和无效的示例。您的最终解决方案不应仅限于正则表达式。耶,您编辑了。。简单的一个
^(?=.[0-9])(?=.[a-zA-Z])(?!.*(?:.*.\1{2})[a-zA-Z0-9]{3,16}$
@AvinashRaj:谢谢你的提示。是的,一个点就足够了,因为我们已经在look-aheads中设置了条件。不,不是在look-aheads中。我们在这里定义它[a-zA-Z0-9]{3,16}$
。最后一个在负前瞻中的*
是不必要的。@Stribizev:谢谢,您提供的正则表达式只接受字母数字。它应该验证至少有1个字符、至少有1个数字且没有重复字符的字符串。已更新。现在,3e3e3ee@12e
通过,和3e3e3eee@2e
失败。唯一的变化是我删除了第三个查找中()\1\1
之间的可选字符。如您所见,允许使用双连续符号。
^(?=.*[0-9])(?=.*[a-zA-Z])(?!.*(.)\1\1.*).{3,16}$