我有以下的正則表達式正則表達式表達問題
/[^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