Phe*_*yne 1 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);
}
Run Code Online (Sandbox Code Playgroud)
测试validateGA('UA-12345-12');但只是保持返回false.
JSFiddle:http://jsfiddle.net/g9yLr/
Avi*_*Avi 11
GA ID中没有固定的位数.此外,已经有与传统开始IDS MO或者YT等你的目的,正确的正则表达式可能是这样的:
/(UA|YT|MO)-\d+-\d+/i.test(id)
Run Code Online (Sandbox Code Playgroud)
这适用于以下场景:
UA-1234-12
YT-1234-12
MO-1-1
UA-1234-1
ua-1-1
UA-1234- // Invalid
UA--1 // Invalid
Run Code Online (Sandbox Code Playgroud)
另外,要在jsfiddle中检查这个:http://jsfiddle.net/c4mkH/1/
我还想提一下,最新版本的 Google Analytics(分析)允许在跟踪 ID 的第二部分中包含字母 - 例如,这现在是有效的:
G-2RJ8P0I4GC
这是我最终使用的正则表达式:
^(G|UA|YT|MO)-[a-zA-Z0-9-]+$
小智 5
@Avi 的答案非常接近,但在以下情况下会失败:
test-UA-1234-12
UA-1234-12-test
Run Code Online (Sandbox Code Playgroud)
因此,具有正确正则表达式的 Javascript 函数是:
function validateGAId(id) {
return /^(UA|YT|MO)-\d+-\d+$/i.test(id);
}
Run Code Online (Sandbox Code Playgroud)