【发布时间】:2018-08-13 11:03:42
【问题描述】:
我需要一个正则表达式模式,该模式将匹配至少 7 个数字(最多 40 个)和 0 个或多个这些字符 ()+-*# 以任意顺序排列的模式。
到目前为止,我有这个:^[(?=.*\d)(?=.*[+\-*()#\]*)]{7,40}$,但它不符合所有要求。
一些测试:
1234 // false needs 7 digits
1234563 // true 7 digits and 0 special chars
(66)666-666 // true 7 digits and 0 or more special
(3)3-33 // false less than 7 digits
123456789009876543211234567890098765432112345 // false more than 40 digits
()-+*#34345789 // true 7 digits and 0 or more special chars
)(*&^%$£@7655432 // false 7 digits but special chars not in list
任何帮助将不胜感激。
【问题讨论】:
-
第三个条件不应该为假吗?有8位数字。
-
@UnbearableLightness - 这就是为什么我认为它是 7-40,而不是 7。
-
我已经编辑了问题以供澄清
标签: javascript html regex