使用正则表达式创建搜索按钮

本文关键字:搜索 按钮 创建 正则表达式 | 更新日期: 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分配任何实例,并且将引发异常。