要检查的正则表达式 URL

Regex to check URL

我得到一个 redirect URL 格式如下。

String redirectUrl = "http://beta.test.com/response";

而且我们必须根据存储在我们数据库中的 url 验证此 URL,其中包含 redirectUrl 的首字母,如下所示。

String initial = "http://beta.test.com";

所以为了验证,我们在下面做。

if(redirectUri.startsWith(initial)){
   match = true;
}

但用户也可以传递低于 redirectUrl 的值。

   "http://beta.test.com.attacker.com/response"
   "http://beta.test.com-attacker.com/response"
   "http://beta.test.comattacker/response"

以上全部无效URL但符合我们的startsWith条件。我无法将它与 DB directly.I 匹配,我正在寻找一些 regex 模式来检查这个,但到目前为止无法实现。

这里仍然不需要正则表达式。您可以在初始 URL 中附加一个斜线并调用相同的 starsWith 方法:

if(redirectUri.startsWith(initial + "/")){
   match = true;
}

也许对你有帮助:

(^.*)\/.*$

URL : https://www.regex101.com/