如何编写JavaScript正则表达式以仅允许字母和数字?

时间:2012-07-05 14:30:00

标签: javascript regex

我希望允许大写和小写。我试过了

'k abBcdi #!129'.replace(/^[A-Za-z0-9]/g,'')

但它没有给我正确答案

3 个答案:

答案 0 :(得分:5)

您需要在括号内使用NOT运算符(^):

/[^A-Za-z0-9]/g

答案 1 :(得分:3)

也改用[^ 0-9A-z]。它可能几乎没有性能影响,但它略短且更漂亮。

编辑:根据上面的评论,您是否试图找到所有字母和数字并替换它们或删除所有不是字母和数字的内容?

答案 2 :(得分:0)

如果您不明确需要使用非^运算符,则可以使用特殊字符来标识所有非字母数字字符:

'k abBcdi #!129'.replace(/[\W]/g,'')

或者,鉴于\W允许使用下划线(_),可能最好使用:

'k abBcdi #!129'.replace(/(\W+)|(_)/g,'')

参考文献: