JavaScript中误用/g导致的正则test()无法正确重复执行的解决方案
<script type="text/javascript">
var str = "##&5";
var patt1 = /[^\a-\z\A-\Z0-9\u4E00-\u9FA5\_]/g;
var result = patt1.test(str);
document.write("Result: " + result);
</script>
1.去掉/g
2.第二次匹配前,手动将lastIndex置0;
patt1.lastIndex =0