我有以下的正则表达式正则表达式表达问题
/[^a-zA-Z0-9 ]/g
我想包括"
在下面的代码段
onKeyUp="this.value=this.value.replace(/[^a-zA-Z0-9"]/g,'')
我使用上述正则表达式
问题我面对在这里是上面的正则表达式允许我包含其他特殊字符(&
,*
等)。我如何避免它?
我有以下的正则表达式正则表达式表达问题
/[^a-zA-Z0-9 ]/g
我想包括"
在下面的代码段
onKeyUp="this.value=this.value.replace(/[^a-zA-Z0-9"]/g,'')
我使用上述正则表达式
问题我面对在这里是上面的正则表达式允许我包含其他特殊字符(&
,*
等)。我如何避免它?
只要把字符转换成字符类,同时采取正确的编码考虑:
onKeyUp="this.value=this.value.replace(/[^a-zA-Z0-9"&*]/g,'')"
这里需要编码"
和&
当您描述HTML属性值声明的值时,字符引用"
和&
。
该代码的第一个明显问题是作为正则表达式的一部分的"
不会转义,尽管它在"
有限字符串文字内。你可能想尝试将其更改为:
onKeyUp="this.value=this.value.replace(/[^a-zA-Z0-9\" ]/g,'')
我试过这个,但它没有工作 – manugupt1 2009-12-03 10:07:11
是的,我后来意识到我实际上并没有回答你的问题,只是解决了一个明显的问题,可能是一个阻碍解决的问题。 @Gumbo的答案是一个适当的答案,尤其是在这种情况下。 – Romain 2009-12-03 10:12:31
在属性值中使用简单的'''将不起作用 – Gumbo 2009-12-03 11:21:30