javascript string.replace方法。无法返回所需的字符串

时间:2012-03-05 16:31:30

标签: javascript regex

这是我的正则表达式:我想用空值替换字符串,以便只留下不需要的字符。它以某种方式返回相同的字符串,而不是替换正则表达式中定义的任何字符:

var regExpress = /^([a-zA-Z0-9!#%^*()\-\_+=|}{'";:\/.,\s]*)$/gi;
strMessage = strMessage.replace(regExpress, '');
我做错了什么?我知道它应该很简单,但无法弄明白。

2 个答案:

答案 0 :(得分:3)

删除^$。这些是字符串开头和结尾的标记。

如果没有这些,只有当整个字符串包含模式中指定的字符时,您的方法才会替换字符。

答案 1 :(得分:2)

如果我理解正确,你想用空字符串''替换正则表达式中指定的所有字符吗?

在这种情况下,你的正则表达式中有很多错误。试试这个正则表达式:

/[a-zA-Z0-9!#%^*()\-\_+=|}{'";:\/.,\s]/gi

即使这样也可以简化,例如\w的{​​{1}}。

a-zA-Z0-9_