You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

求Facebook Ads的Website URL与Display link校验正则表达式

Facebook Ads Manager URL 校验正则表达式(适配Marketing API前置校验)

我之前帮不少开发者处理过Facebook Marketing API的前置校验痛点,确实官方文档里没明确公开URL校验的具体正则规则。不过通过反复测试Ads Manager的实际输入限制,以及逆向分析API返回的错误提示,整理出了两套适配性很高的正则,分别对应Website URL和Display link的校验需求:

1. Website URL 校验正则

这个正则严格匹配Ads Manager对落地页URL的要求,覆盖了协议规范、域名合规性以及路径参数的允许范围:

^https?:\/\/(www\.)?[a-zA-Z0-9][a-zA-Z0-9-]{1,61}[a-zA-Z0-9]\.[a-zA-Z]{2,}(\/[^\s]*)?$

规则拆解:

  • 必须以http://或https://开头(Facebook强制落地页URL带协议)
  • 可选带www.前缀,无也可通过校验
  • 域名主体严格符合ICANN规范:长度1-63字符,仅允许字母、数字、连字符,且首尾不能是连字符
  • 顶级域名(TLD)至少2个字符,仅支持字母(比如.com、.co.uk这类多级TLD也兼容)
  • 允许后续带路径、查询参数或锚点,只要不包含空格字符

Display link的规则相对宽松,支持省略协议(Ads Manager会自动补全https),适合品牌化的短展示链接:

^(https?:\/\/)?(www\.)?[a-zA-Z0-9][a-zA-Z0-9-]{1,61}[a-zA-Z0-9]\.[a-zA-Z]{2,}(\/[^\s]*)?$

规则拆解:

  • 可选http://或https://协议(省略时Facebook会自动补全为https)
  • 可选www.前缀
  • 域名部分规则和Website URL完全一致
  • 允许带简短路径,但同样不能包含空格

额外避坑提示

  • 正则只是前置过滤,即使通过校验,仍可能因为域名被Facebook拉黑、URL无法正常访问、内容违反广告政策等原因导致API请求失败,建议在正则校验后再做简单的可访问性检查
  • 避免使用非ASCII字符(比如中文域名、emoji),即使正则兼容,Ads Manager大概率会拒绝
  • 测试时可以手动在Ads Manager里输入边缘案例(比如带多层路径的URL、短域名如bit.ly/xxx),验证正则的覆盖范围

示例代码(Python)

import re

def validate_facebook_website_url(url):
    pattern = r"^https?:\/\/(www\.)?[a-zA-Z0-9][a-zA-Z0-9-]{1,61}[a-zA-Z0-9]\.[a-zA-Z]{2,}(\/[^\s]*)?$"
    return re.fullmatch(pattern, url) is not None

def validate_facebook_display_link(link):
    pattern = r"^(https?:\/\/)?(www\.)?[a-zA-Z0-9][a-zA-Z0-9-]{1,61}[a-zA-Z0-9]\.[a-zA-Z]{2,}(\/[^\s]*)?$"
    return re.fullmatch(pattern, link) is not None

# 测试用例
print(validate_facebook_website_url("https://www.example.com/promo?utm=fb"))  # True
print(validate_facebook_display_link("example.com"))                           # True
print(validate_facebook_website_url("example.com"))                            # False(缺少协议)

内容的提问来源于stack exchange,提问作者Grzegorz Pasnik

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 03:11:47