使用正则表达式创建搜索按钮
本文关键字:搜索 按钮 创建 正则表达式 | 更新日期: 2023-09-27 17:56:29
所以我基本上是在尝试创建一个搜索按钮。
此搜索使用的是正则表达式。
我想我是正确的,但它不起作用,有人可以告诉我我如何/在哪里出错,没有在 AGES 中编码......
public void SearchFunction(string searchtext)
{
SupporterId();
ReferenceNumber();
ConsignmentNumber();
}
private static void SupporterId()
{
const string sId= "";
var supporterId = Regex.IsMatch(sId, @"^[A-F,S,R][0-9]{3,6}$", RegexOptions.IgnoreCase);
}
private static void ReferenceNumber()
{
const string refNumber = "";
var referenceNumber = Regex.IsMatch(refNumber, @"^[ABN158][0-9]{6,17}$", RegexOptions.IgnoreCase);
}
private static void ConsignmentNumber()
{
const string conNumber = "";
var consignmentNumber = Regex.IsMatch(conNumber, @"&[0-9]{14}$", RegexOptions.IgnoreCase);
}
}
}
这些是我的正则表达式,这是我背后的代码。
protected void CheckStateClick(object sender, EventArgs e)
{
ConsignmentSearch();
}
private void ConsignmentSearch()
{
var searchclass = new RegexMethods();
searchclass.SearchFunction(txtReferenceNumber.Text);
}
谁能告诉我哪里出了问题以及如何解决它,请不要告诉我哦,你错过了这个,然后不要告诉我如何解决它。
如果您可以告诉我如何/需要添加什么才能修复示例:在此处添加此行代码....<>
请,谢谢。
__这是错误测试"M:DeliveryInputSystem.Default.AddBox_Click(System.Object,System.EventArgs)"失败:对象引用未设置为对象的实例。 System.NullReferenceException:对象引用未设置为对象的实例。 默认值.aspx.cs(113,0): at DeliveryInputSystem.Default.AddBox_Click(对象发送者,事件参数 e)
我可能是错的,但看起来你只是在检查空字符串......如何像这样检查您的搜索文本:
public void SearchFunction(string searchtext)
{
SupporterId(searchtext);
ReferenceNumber(searchtext);
ConsignmentNumber(searchtext);
}
private static void SupporterId(string sId)
{
var supporterId = Regex.IsMatch(sId, @"^[A-F,S,R][0-9]{3,6}$", RegexOptions.IgnoreCase);
}
private static void ReferenceNumber(string refNumber)
{
var referenceNumber = Regex.IsMatch(refNumber, @"^[ABN158][0-9]{6,17}$", RegexOptions.IgnoreCase);
}
private static void ConsignmentNumber(string conNumber)
{
var consignmentNumber = Regex.IsMatch(conNumber, @"&[0-9]{14}$", RegexOptions.IgnoreCase);
}
但是,如果我正确理解您的代码,您的搜索文本变量仅包含 txtReferenceNumber.Text text,因此您应该只对其运行 ReferenceNumber(字符串搜索文本)方法。
您提供了错误文本:
__ THIS IS THE ERROR Test'
M:DeliveryInputSystem.Default.AddBox_Click(System.Object,System.EventArgs)' failed:
Object reference not set to an instance of an object.
System.NullReferenceException:
Object reference not set to an instance of an object.
Default.aspx.cs(113,0): at DeliveryInputSystem.Default.AddBox_Click(Object sender, EventArgs e)
有书面的错误原因:NullReferenceException
以及它发生在哪里Default.aspx.cs(113,0)
。您需要分析那里有什么,符合113
Default.aspx.cs
以及为什么会导致NullReferenceException
.
如果您不知道从哪里开始,请从文档开始。根据 NullReferenceException 类的 MSDN 文档:
当您尝试访问值为 null 的类型上的成员时,将引发 NullReferenceException 异常。
你经常在那里也有一个例子:
1: List<String> names;
2: if (sth) names = new List<String>();
3: names.Add("Major Major Major")
如果false
sth
则不会为names
分配任何实例,并且将引发异常。