if (preg_match('#^https?://account.oneplus.net/invite/claim/....-....-....-....#', $url) === 0) {
return "Invalid link";
}
我目前使用此代码(在 PHP 中)来验证 url。但是,当您尝试使用链接后面的其他内容时,它也为真。如何解决此问题,以便只有以或不带有/结尾的链接才能正常工作?
这是我正在寻找的正则表达式:
preg_match('#^https?://account.oneplus.net/invite/claim/'S{4}-'S{4}-'S{4}-'S{4}/?$#', $url) === 0
我建议你用'S
替换所有的点(它匹配任何非空格字符),所以....
会写成'S{4}
.
因为它也会匹配水平空间。并添加模式(/?
)以匹配最后的可选/
。