【问题标题】:Regex not working in asp.net(.aspx page)正则表达式在 asp.net(.aspx 页面)中不起作用
【发布时间】:2015-10-23 21:49:28
【问题描述】:

我有一个正常工作的正则表达式(当我尝试通过在线正则表达式检查网站时)。 这不应该允许 1234.1234.1234.1234 但是当我在 asp.net 中使用它时,它甚至允许这些值。

有什么建议吗?

var ipfilter = new RegExp("(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?$)");

【问题讨论】:

    标签: asp.net regex


    【解决方案1】:

    .NET 正则表达式与 JavaScript 的不同之处在于非常。但是,在这种情况下,这是一个常规问题:点必须以 literal 反斜杠开头,或者放在字符类中。我建议后者,因为它不易出错,并且您需要添加一个^(字符串开头)锚:

    var rx = "^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)[.](25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)[.](25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)[.](25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?$)";
    

    【讨论】:

    • 谢谢..你是天才。
    【解决方案2】:

    您使用的在线正则表达式检查网站是为 .NET 测试正则表达式吗? .NET 正则表达式与 Javascript 正则表达式略有不同。

    http://refiddle.com/ - 您可以通过从左侧的正则表达式选项下拉列表中选择 .NET 来针对 .NET 进行测试。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-07-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多