如何使用JavaScript函数验证Google Analytics跟踪ID

时间:2013-12-05 22:04:58

标签: javascript regex google-analytics

我需要验证Google Analytics跟踪ID。所以我创建了一个简单的函数,但我的RegEx必定是错的,因为它每次都返回false。我不确定Google Analytics ID的中间或末尾是否有一定数量的数字,所以只是想找到至少一位数字。

JavaScript功能:

function validateGA(id) {
    var regexp = /ua-\d+-\w\d+/;
    return regexp.test(id);
}

使用validateGA('UA-12345-12');进行测试,但只是继续返回false。

JSFiddle:http://jsfiddle.net/g9yLr/

5 个答案:

答案 0 :(得分:10)

GA ID中没有固定的位数。此外,还有一些遗留ID始于MOYT等。出于您的目的,正确的正则表达式可能类似于:

/(UA|YT|MO)-\d+-\d+/i.test(id)

这适用于以下场景:

UA-1234-12
YT-1234-12
MO-1-1
UA-1234-1
ua-1-1
UA-1234- // Invalid
UA--1   // Invalid

另外,要在jsfiddle:http://jsfiddle.net/c4mkH/1/

中进行检查

答案 1 :(得分:3)

不了解JS,但它需要不区分大小写以匹配UA

/(?i)ua-\d+-\w\d+//ua-\d+-\w\d+/i

答案 2 :(得分:3)

@Avi's答案非常接近,但在以下情况下会失败:

test-UA-1234-12
UA-1234-12-test

因此,具有正确正则表达式的Javascript函数是:

function validateGAId(id) {
  return /^(UA|YT|MO)-\d+-\d+$/i.test(id);
}

答案 3 :(得分:0)

我还想提到,最新版本的Google Analytics(分析)允许在跟踪ID的第二部分中包含字母-例如,现在有效:

G-2RJ8P0I4GC

这是我最终使用的正则表达式:

^(G | UA | YT | MO)-[a-zA-Z0-9-] + $

答案 4 :(得分:0)

现在有其他格式,将来可能会有更多格式。

您可能想要查看此答案...https://stackoverflow.com/a/68679610/897266