我有以下正则表达式
/[^a-zA-Z0-9 ]/g
我希望在以下代码中包含"
onKeyUp="this.value=this.value.replace(/[^a-zA-Z0-9"]/g,'')
我使用了上面的正则表达式
我在这里遇到的问题是上面的正则表达式允许我在其中包含其他特殊字符(&
,*
等)。我该如何避免呢?
答案 0 :(得分:2)
只需将字符放入字符类中,同时考虑正确的编码:
onKeyUp="this.value=this.value.replace(/[^a-zA-Z0-9"&*]/g,'')"
在您描述HTML属性值声明的值时,您需要使用字符引用"
和&
对"
和&
进行编码。
答案 1 :(得分:1)
代码的第一个明显问题是,尽管"
位于"
- 分隔的字符串文字内,但是onKeyUp="this.value=this.value.replace(/[^a-zA-Z0-9\" ]/g,'')
是正则表达式的一部分。您可能想尝试将其更改为:
{{1}}