Dom*_*nic 13 javascript regex date
var dateRegex = /\/Date\((\d+)\)\//g; // [0-9] instead of \d does not help.
dateRegex.test("/Date(1286443710000)/"); // true
dateRegex.test("/Date(1286445750000)/"); // false
Run Code Online (Sandbox Code Playgroud)
Chrome和Firefox JavaScript控制台都证实了这一点.怎么了,伙计们?
编辑:更简单的测试用例:
var dateRegex = /Date\(([0-9]+)\)/g;
dateRegex.test("Date(1286445750000)"); // true
dateRegex.test("Date(1286445750000)"); // false
dateRegex.test("Date(1286445750000)"); // true
dateRegex.test("Date(1286445750000)"); // false
dateRegex.test("Date(1286445750000)"); // true
Run Code Online (Sandbox Code Playgroud)
这表明它每次都交替出现真/假......
Nic*_*ver 22
在您的情况下,g从末尾删除修饰符,例如:
var dateRegex = /\/Date\((\d+)\)\//;
dateRegex.test("Date(1286445750000)"); // true
dateRegex.test("Date(1286445750000)"); // true
dateRegex.test("Date(1286445750000)"); // true
dateRegex.test("Date(1286445750000)"); // true
dateRegex.test("Date(1286445750000)"); // true
Run Code Online (Sandbox Code Playgroud)
在ECMAScript 3中实现正则表达式的方式存在一个错误,这里有一篇很好的帖子.