我有一个代码只允许输入数字和字母:
if (this.value.match(/[^a-zA-Z0-9 ]/g)) {
this.value = this.value.replace(/[^a-zA-Z0-9 ]/g, '');
}
如何更改过滤器以允许符号:+和 - 并删除数字,字母和其他?它必须与正则表达式有关,我不确定如何做到这一点。快速解决方案?感谢。
答案 0 :(得分:2)
您可以将这些字符添加到字符集中,然后删除您要清除的字符。但是,在这里,-
符号具有特殊含义,必须像这样转义:
if (this.value.match(/[^+\-]/g)) {
this.value = this.value.replace(/[^+\-]/g, '');
}
正如inhan在他的评论中指出的那样,因为连字符是组中的最后一个字符,因此是明确的,所以很可能省略转义只有这个正则表达式:
/[^+-]/g
但我们都不完全确定这是否会一直有效,而逃脱的形式肯定会有效。