Regex在asp.net(.aspx页面)中不工作

bq8i3lrv  于 2023-05-08  发布在  .NET
关注(0)|答案(2)|浏览(119)

我有一个正常工作的正则表达式(当我尝试通过在线正则表达式检查网站时)。这不应该允许1234.1234.1234.1234,但当我在www.example.com中使用它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]?$)");
eqfvzcg8

eqfvzcg81#

.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]?$)";
ndh0cuux

ndh0cuux2#

你使用的在线正则表达式检查网站是在测试.NET的正则表达式吗?.NET正则表达式与Javascript正则表达式略有不同。
https://regex101.com/-您可以通过从左侧的flavor选项中选择.NET来针对.NET进行测试。

相关问题