用于验证Google Analytics UA编号的正则表达式

时间:2010-03-23 02:54:40

标签: regex google-analytics

我并非百分之百地清楚Google Analytics UA号码总是6位数字,短划线和2位数字,正如Google在其文档中经常提到的那样。频繁的反例使用少于6个帐户部分和1-4个用于配置文件。所有的例子总是显示数字,但它们甚至不清楚它们不能是字母。

是否有人知道Google是否发布了与允许的UA号码完全匹配的正则表达式?我正在将此功能添加到我正在处理的应用程序的管理控制台,并希望验证用户输入。

2 个答案:

答案 0 :(得分:27)

也许没有固定的数字范围。帐号的6位数将限制Google为1,000,000个用户。我确信谷歌的目标高于那个。此Google Analytics FAQ item显示UA-xxxxxxx-y作为样本帐号(7 + 1位)。我认为只有UA和短划线是固定的,并且随着用户和配置文件数量的增长,位数会扩大。例如。为用户提供4到10位数字,为配置文件提供1到4位数字,你可以使用这个Perl风格的正则表达式:

\bUA-\d{4,10}-\d{1,4}\b

如果必须使用有限的Google Analytics regex syntax,请尝试以下操作:

UA-[0-9]+-[0-9]+

答案 1 :(得分:0)

截至 2021 年年中,现在有其他格式,未来可能会有更多格式。有一种模式适用于几乎所有活动格式,并且可能会在未来的格式中受到尊重。

/^[A-Z][A-Z0-9]?-[A-Z0-9]{4,10}(?:\-[1-9]\d{0,3})?$/

(stackoverflow regex 语法荧光笔似乎不喜欢 ^ )

现有代码包括: UA YT MO G DC AW

UA-12345-1 G-J2DV45G DC-JGWWE32 AW-GER322

如果您尝试匹配较长字符串中的代码,请尝试使用单词边界 \b 选项...

/\b[A-Z][A-Z0-9]?-[A-Z0-9]{4,10}(?:\-[1-9]\d{0,3})?\b/

说明(不加^|$|\b):

  • 匹配下面列表中的单个字符 [A-Z]
  • A-Z 匹配 A(索引 65)和 Z(索引 90)之间范围内的单个字符(区分大小写)
  • 匹配下面列表中的单个字符 [A-Z0-9]
  • ?匹配0到1次之间的前一个令牌,尽可能多次,根据需要返回(贪婪)
  • A-Z 匹配 A(索引 65)和 Z(索引 90)之间范围内的单个字符(区分大小写)
  • 0-9 匹配 0(索引 48)和 9(索引 57)之间范围内的单个字符(区分大小写)
  • - 匹配字符 - 字面索引为 4510(2D16 或 558)(区分大小写)
  • 匹配出现在下面列表中的单个字符 [A-Z0-9] {4,10} 匹配前一个令牌 4 到 10 次,尽可能多,根据需要回馈(贪婪)
  • A-Z 匹配 A(索引 65)和 Z(索引 90)之间范围内的单个字符(区分大小写)
  • 0-9 匹配 0(索引 48)和 9(索引 57)之间范围内的单个字符(区分大小写)
  • 非捕获组 (?:-[1-9]\d{0,3})?
  • ?匹配0到1次之间的前一个令牌,尽可能多次,根据需要返回(贪婪)
  • \- 匹配字符 - 字面索引为 4510(2D16 或 558)(区分大小写)
  • 匹配出现在下面列表中的单个字符 [1-9] 1-9 匹配 1(索引 49)和 9(索引 57)之间范围内的单个字符(区分大小写)
  • \d 匹配一个数字(相当于 [0-9]) {0,3} 匹配前一个令牌 0 到 3 次,尽可能多,根据需要回馈(贪婪)