我遇到了一些奇怪的事情(至少对我而言),这是我问题的简化版本
var $value = 123321;
var hex = /(?:[0-9a-fA-F]{3}){1,2}/g;
var valid = (hex.test($value));
console.log(valid); // Outputs true.
valid = hex.test($value);
console.log(valid); // Outputs false.
为什么两次运行相同的命令会给我2个不同的输出?
这里也是一个例子的JSFiddle,http://jsfiddle.net/wsu9xdv6/