奇怪的逻辑表达式与正则表达式问题

lgchao 2003-02-07 01:25:28
<script language="javascript">
var re=/^[\w]{2,10}$/g;
alert(re.test("test"));
alert(re.test("test") && re.test("test"));
</script>

re.test("test")的结果是true;而re.test("test") && re.test("test")的结果则为false。难道true && true =false?
...全文
32 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
lgchao 2003-02-07
  • 打赏
  • 举报
回复
I see, thank you very much.
saucer 2003-02-07
  • 打赏
  • 举报
回复
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>

remove the /g, you will get what you expected
blues-star 2003-02-07
  • 打赏
  • 举报
回复
没有问题,结果是true true
lgchao 2003-02-07
  • 打赏
  • 举报
回复
难道我的系统有问题?
win2k server sp3, ie 6 sp1.
xizi2002 2003-02-07
  • 打赏
  • 举报
回复
我的结果为true true
<script language="javascript">
var re=/^[\w]{2,10}$/g;
alert(re.test("test"));
alert(re.test("test") && re.test("test"));
</script>
lgchao 2003-02-07
  • 打赏
  • 举报
回复
应该是
alert(re.test("test") && re.test("test"));

87,907

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧