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?

4

2 回答 2

1

Equals正在将 aMatch与 a进行比较Regex-它们是不同的类别,因此永远不会正确,并且您总是陷入if困境。

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

于 2013-02-15T11:29:33.577 回答
0

您正在使用ObjectEquals方法是基类Regex

类ie的使用IsMatch方法Regexcheck.IsMatch(searchQuery)

于 2013-02-15T11:28:48.280 回答