CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
花落谁家,你作主! 盛大widget设计大赛英雄榜
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Web 开发 >  JavaScript

奇怪的正则问题

楼主3m2u(SameToYou)2005-04-01 23:18:04 在 Web 开发 / JavaScript 提问

<script>  
  s="10";  
  re=/^[0-9]*[0-9]$/g;  
  alert("1="+re.test(s));  
  alert(re+"   "+s);  
  alert("2="+re.test(s));  
  </script>  
   
   
  两次正则返回的结果是不同的。好奇怪啊。好像如果匹配成功了下次匹配就会不成功  
  但是第一次不成功则第二次也不成功  
   
  难道匹配完以后re   or   s的值会变?但从中间打印的结果来看应该是没变啊。  
   
  奇怪。请大家解惑  
   
  问题点数:20、回复次数:2Top

1 楼mjpclab(有只大猫猫 mjpclab.net)回复于 2005-04-02 01:37:31 得分 10

<script>  
  s="10";  
  re=/^[0-9]*[0-9]$/g;  
  alert("1="+re.test(s));  
  re.lastIndex=0  
  alert("2="+re.test(s));  
  </script>  
   
  如果用全局匹配模式,test只是搜索下一个匹配的位置,lastIndex记录着最后一次匹配的位置+1  
  这个不需要g参数呀Top

2 楼mjpclab(有只大猫猫 mjpclab.net)回复于 2005-04-02 01:43:50 得分 10

lastIndex记录着最后一次匹配的字符串末尾位置+1  
  如果test方法找不到匹配,会重置lastIndex=0Top

相关问题

  • 奇怪的Javascript正则的问题
  • 奇怪的问题:已经有正则表达式,求解
  • 一个RegularExpressionValidator的验证正则表达的奇怪问题
  • 正则表达式得奇怪问题?请教大虾!!!
  • 奇怪,奇怪
  • 奇怪,奇怪!
  • 奇怪奇怪???
  • 奇怪!奇怪
  • 奇怪奇怪...........?????...........
  • weblogic奇怪地无法正常运行!

关键词

  • 匹配
  • 奇怪
  • lastindex记录
  • 成功
  • 位置+1
  • 结果
  • 最后一
  • test

得分解答快速导航

  • 帖主:3m2u
  • mjpclab
  • mjpclab

相关链接

  • Web开发类图书

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo