【发布时间】:2015-06-30 19:26:34
【问题描述】:
在 javascript 中,我试图检查密码是否必须至少有 8 个字符长,并且必须至少包含一个字母、一个数字并且除了 _@.- 之外没有特殊符号。 为此,我正在使用这个正则表达式
^(?=(.*\d){1})(?=.*[a-zA-Z])(?=.*[!@#$%])[0-9a-zA-Z_@.-]{8,}
但是当我试图用它匹配一个字符串时
^(?=(.*\d){1})(?=.*[a-zA-Z])(?=.*[!@#$%])[0-9a-zA-Z_@.-]{8,}.test('password')
它给出了语法错误
SyntaxError: expected expression, got '^'
我也必须在 python 中检查同样的事情。
【问题讨论】:
-
你忘了
/告诉JS它是一个正则表达式 -
为什么不使用基本的字符串方法?我敢肯定 JS 有一套合理的。
标签: javascript python regex