console.log(/^[0-9a-zA-Z]+[~!@#$%^&*_+-=]+$/.test("123456"));
我认为它应该返回false
,因为字符串不以~!@#$%^&*_+-=
字符结尾,
但它运行时返回true
。
为什么返回true
?
答案 0 :(得分:5)
问题是+-=
是一个范围。如果您查看ASCII table,可以看到+-=
包括+
,-
,.
,/
,:
,;
,<
,=
以及所有数字0
.. 9
。
您想要[~!@#$%^&*_+\-=]
(逃避-
)。