我有一个正常工作的正则表达式(当我尝试通过在线正则表达式检查网站时)。这不应该允许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]?$)");
2条答案
按热度按时间eqfvzcg81#
.NET正则表达式与JavaScript有很大的不同。然而,在这种情况下,这是一个常规问题:点必须在前面加上一个 literal 反斜杠,或者放在一个字符类中。我建议使用后者,因为它不太容易出错,而且你需要添加一个
^
(字符串开始)锚:ndh0cuux2#
你使用的在线正则表达式检查网站是在测试.NET的正则表达式吗?.NET正则表达式与Javascript正则表达式略有不同。
https://regex101.com/-您可以通过从左侧的flavor选项中选择.NET来针对.NET进行测试。