the result should be true, false (at least on IE6), because you are using /g option. The first re.test() matches the string, the second re.test() matches nothing, then the regular expression object resets, then it matches again, for example, try
<script language="javascript">
var re=/^\w{2,10}$/g;
alert(re.test("test"));
alert(re.test("test"));
alert(re.test("test"));
</script>
<script language="javascript">
var re=/^\w{2,10}$/g;
alert(re.exec("test"));
alert(re.exec("test"));
alert(re.exec("test"));
</script>