2012-01-26 61 views
2

我爲我的C#文件創建了以下正則表達式。 Bascily我希望用戶的輸入只能是常規字符(A-Z較低或較高)和數字。 (空格或符號)。正則表達式只有數字和字符

[A-ZA-Z0-9]

出於某種原因,只有失敗時,其本身就是一個象徵。如果這些字符與它混合,則表達式通過。

我可以告訴你我的代碼如何暗示它,但我認爲它是我的表達。

謝謝!

+2

也許你忘了加號? [a-zA-Z0-9] + –

回答

6

的問題是,它可以匹配任何地方。您需要錨點:

^[a-zA-Z0-9]+$ 
+0

真棒多數民衆贊成它是什麼感謝! – Johnston

+0

我知道你已經回答了我的問題,但現在我試圖讓第一個字符大寫。我試過這個,我在互聯網上發現,但它似乎並沒有工作時,使用大寫輸入:^ [A-Z] [A-ZA-Z0-9] + $ – Johnston

+0

它看起來很好......你輸入一個大寫字母?它應該是'^ [A-Z] [a-zA-Z0-9] * $'。 – Ryan

1

您確定要檢查整個字符串嗎?這就是你使用的表達式,如 ^[a-zA-Z0-9]*$ 其中^表示字符串的開始,而$表示字符串的結束?

2

該正則表達式將匹配字符串中的每個字母數字字符作爲單獨的匹配。

如果你想確保用戶只輸入了整個字符串有字母數字字符,你需要做的是這樣的:

^[a-zA-Z0-9]+$ 
2

這是因爲它將匹配你需要下面的字符串中的字符。 強制它匹配整個字符串,而不僅僅是它的一部分

^[0-9a-zA-Z]*$ 
相關問題