有代码:
var regexp = new RegExp("[^a-zA-Z\-\s]", "g");
val = val.replace(regexp,'');
它也需要留下字母(a-zA-Z)、 - (\-)和空格(\s)并删除所有其他符号。
但现在它也删除了空格。
我究竟做错了什么?
有代码:
var regexp = new RegExp("[^a-zA-Z\-\s]", "g");
val = val.replace(regexp,'');
它也需要留下字母(a-zA-Z)、 - (\-)和空格(\s)并删除所有其他符号。
但现在它也删除了空格。
我究竟做错了什么?
您需要将反斜杠加倍:
var regexp = new RegExp("[^a-zA-Z\\-\\s]", "g");
或者,更好的是,使用正则表达式文字(并简化它):
var regexp = /[^a-z\s-]/gi;
如果有人感兴趣,这是我遇到的一个JavaScript 正则表达式生成器工具。
对于像我这样的正则表达式爱好者来说非常有用。