<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE>New Document</TITLE>
</script>
<script type="text/javascript">
function tt(){
var pattern=/^([a-zA-z]{1})([\w]*)$/g;
alert(pattern.test(document.getElementById("dd").value));
}
</script>
</HEAD> <BODY>
<input value="DDDDD" id="dd" onblur="tt()">
</BODY>
</HTML>
代码如上,用IE试验全返回true,用Mozzila就是一下true一下false。
费解- -!望高手指点,说下理由和解决办法!谢过
PS:去掉pattern后面那个g可以解决问题,但原因何在,有g如何解决。
<HTML>
<HEAD>
<TITLE>New Document</TITLE>
</script>
<script type="text/javascript">
function tt(){
var pattern=/^([a-zA-z]{1})([\w]*)$/g;
alert(pattern.test(document.getElementById("dd").value));
}
</script>
</HEAD> <BODY>
<input value="DDDDD" id="dd" onblur="tt()">
</BODY>
</HTML>
代码如上,用IE试验全返回true,用Mozzila就是一下true一下false。
费解- -!望高手指点,说下理由和解决办法!谢过
PS:去掉pattern后面那个g可以解决问题,但原因何在,有g如何解决。
所以只要检测出来相匹配的模式,无论字符串里还剩余多少匹配的模式都返回的true,所以这里加g是多余的,也是不规范的测试方式.
这种测试估计只有IE和safari之流的浏览器才会如楼主所愿啊,哈哈..
我想知道的是在mozzila里面为什么不一直返回true。而且给定了值又没变过。你们可以复制代码用mozzila看看就知道效果了。