_axl,
Это особенности регулярок ...
Выход: не использовать ключ
g или формировать регулярку во время тестирования
1 вариант
<div id="show"></div>
<script type="text/javascript">
var d = document.getElementById('show'),
email = 'abc@mail.ru',
rules = new Array();
rules['email'] = /[\w_\-\.]+@[\w_\-\.]+\.\w{2,4}/i;
setInterval(function(){d.innerHTML+= rules['email'].test( email )+"<br />"}, 500);
</script>
2 вариант
<div id="show"></div>
<script type="text/javascript">
var d = document.getElementById('show'),
email = 'abc@mail.ru';
setInterval(function(){d.innerHTML+= new RegExp("[\\w_\\-\\.]+@[\\w_\\-\\.]+\\.\\w{2,4}","ig").test( email )+"<br />"}, 500);
</script>