如何编写JavaScript正则表达式以仅允许字母和数字?
问题描述:
我希望允许大写和小写。我曾尝试如何编写JavaScript正则表达式以仅允许字母和数字?
'k abBcdi #!129'.replace(/^[A-Za-z0-9]/g,'')
但它不给我正确的答案
答
还可以使用[^ 0-9A-Z ]而是。它可能几乎没有性能影响,但它稍短而漂亮。
编辑:根据上面的评论,你是否试图找到所有的字母和数字,并将其替换或删除所有不是字母和数字的东西?
答
你需要使用NOT运算符(^
)括号内:
/[^A-Za-z0-9]/g
答
如果你不明确需要使用不^
运营商,你可以简单地使用特殊字符,以确定所有非字母数字字符:
'k abBcdi #!129'.replace(/[\W]/g,'')
或者,如果还\W
允许下划线(_
),它可能是最好使用:
'k abBcdi #!129'.replace(/(\W+)|(_)/g,'')
参考文献:
该模式将删除所有大写,小写和数字。 – hookedonwinter 2012-07-05 14:31:55
ë也是一封信... – Quentin 2012-07-05 14:33:26