2013-10-09 32 views
2

我有麻煩找配發一個正則表達式,這將讓我如果用戶試圖提交特殊字符,特別是"/""\"拋出一個錯誤。我已經有了一個表達式,可以幫助其他特殊字符,但不會帶來前進和後退斜線獎金:我不想要這些以太,但不可能進入。 ~,!,@,#,$,%,^,&,*,()。我目前使用^[\w{./\\(),'}+:?®©-]+$正則表達式中沒有特殊字符

+0

哪種編程語言? –

+0

我打算在asp.net RegularExpression驗證器中使用它。 – jackncoke

回答

6

你有正則表達式

專門允許/\(以及())。像這樣改變它:

^[\w{.,'}+:?®©-]+$ 

並繼續刪除您不想允許的任何其他字符。

如果你想知道,構造[...]被稱爲character class

你也可以使用一個否定像^[^/\\()[email protected]#$%^&*]*$字符類,允許任何字符除了/\()[email protected]#$%^&*

+0

謝謝!你也讓我更好地理解他們是如何寫作的。 – jackncoke

+0

*否定*角色班級幫助我。但只是一個小問題。實際上我想禁止這些字符:'〜\'!#$%^ = + | \:'「,; [] {}()'和我是一樣的試試這個:'ValidationExpression =「^ [^ \\〜\'\ [\] \(\)\ {}!#\ $%\^= \ + \ |:',; \」] * $「'但它表示雙引號逗號沒有正確逃脫任何解決方案? – hims056

+0

@ hims056:我認爲你必須通過加倍來避免雙引號,你可以嘗試'ValidationExpression =「^ [^ \\〜\'\ [\]() !{}#\ $%^ = + |:?。」 ,; 「」] * $「' –