正则表达式字符串显示错误

时间:2015-07-08 05:26:18

标签: javascript regex

我的正则表达式有什么问题

这是我第一次尝试使用正则表达式。但是我有一个小问题。 当我在chrome控制台中运行我的正则表达式时,它似乎工作。但是,我的Komodo Edit在以下行显示错误(字符类中的无效范围):

s = s.replace(/([^0-9,-\s])/g,"");

我想只允许这些字符:

0-9
,
-
\s (whitespace)

例如输入:s1,2,3,4 ,5 / #, 7-9"应该给我:1,2,3,4 ,5 , 7-9

我感谢所有帮助:)

2 个答案:

答案 0 :(得分:2)

s = s.replace(/([^0-9,\s-])/g,"");

-保持在最后或escape-在字符类中形成一个范围(在这种情况下无效)。

答案 1 :(得分:2)

-用于选择字符范围。

-移至regex的末尾。

/([^0-9,\s-])/

使用斜杠\

转义它
/([^0-9,\-\s])/