2013-08-20 89 views
0

我要尋找一個在JavaScript中的正則表達式允許滿足所有三個下面的字符串:JavaScript的正則表達式不允許非ASCII和反斜槓

  1. 可以允許除特殊字符的所有字符「\」
  2. 不應該允許非ASCII字符

我怎樣才能獲得正則表達式兩種以上的...

我寫的正則表達式爲^[0-9a-zA-Z' ']+$,但這是允許非ASCII。 我在網上看到,\x00-\x7F允許非ASCII字符,但如何將這些作爲一個單一的正則表達式?

+6

Java對Javascript來說就像Car是Carpet一樣。 –

+0

@RohitJain可能是我聽到的描述Java和JavaScript之間差異的最好解釋。 –

+0

...像[火腿和倉鼠](http://coding.smashingmagazine.com/2009/07/29/misunderstanding-markup-xhtml-2-comic-strip/):) – Pshemo

回答

2

這應該工作:

var match = str.match(/^(?:(?![^\x00-\x7F"]).)+$/); 

負先行用於確保每個字符是不是非ASCII或"

OR

var match = str.match(/^(?:(?!")[\x00-\x7F])+$/); 

負先行用於確保每個ASCII字符不是"

相關問題