2013-02-15 57 views
0

我想檢查一個搜索框,這是我的查詢哪些工作,但有幾個問題。正則表達式查詢實現

// ================================= 
var check = new Regex("[^A-Za-z]"); 
Match m = check.Match(searchQuery); 
if (m.Equals(check) != true) 
{ 
    pnl_Message.Visible = true; 
    pnl_Message.CssClass = "messageTable"; 
    lbl_message.Text = " * Only Letters are allowed"; 
    } 

If語句Equals說可疑的比較!
但作品!
無論我設置表達式,它總是會在if語句中進行。

我應該如何查詢searchQuery?

+0

檢查這個答案http://stackoverflow.com/questions/273141/regex-for-numbers-only看看「^ [0-9] + $」注意 – dinnouti 2013-02-15 11:31:55

+0

你應該檢查在msdn的類在你之前用它... – Anirudha 2013-02-15 11:35:38

回答

1

基類你Equals是一個比較MatchRegex - 他們是不同類型的,所以它從來都不是真的,你總是進入你的if區塊。

您可能想要if (m.Success) - 檢查check.Match(...)返回的值是否成功匹配(即輸入包含非字母)或不匹配。

0

您正在使用ObjectEquals方法這是Regex

使用IsMatch方法Regex類即check.IsMatch(searchQuery)