if (preg_match('#^https?://account.oneplus.net/invite/claim/....-....-....-....#', $url) === 0) {
return "Invalid link";
}
我目前使用此代码(在PHP中)来验证网址。但是,当您尝试跟踪链接后面的其他内容时,它也会正确传递。我该如何解决这个问题,以便只有以/不结束的链接?
答案 0 :(得分:1)
这是我正在寻找的正则表达式:
preg_match('#^https?://account.oneplus.net/invite/claim/\S{4}-\S{4}-\S{4}-\S{4}/?$#', $url) === 0
答案 1 :(得分:0)
我建议您使用\S
(匹配任何非空格字符)替换所有点,因此....
将被写为\S{4}
,因为.
也会匹配一个水平空格。并添加模式(/?
)以匹配最后一个可选的/
。