在js 中用正则提取数据出问题

天上下雨 2017-02-04 05:42:34
目的是从地址栏中取出传递的参数,做的链接重写!
var url= "http://localhost:80/pro_321.asp";
var temp1 = url.match(/\d+.asp/);
document.write(temp1);
var temp = temp1.match(/\d+/);
document.write(temp);

第一次执行正则可以取出想要的结果"321.asp"
但是第二次执行仅取出数字不进行之执行,这是什么问题?
要是写成
"321.asp".match(/\d+/);
会执行,但是不能执行上一次的结果。
问下为什么会出现这种情况?正则的match有什么限制吗?
...全文
108 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
天上下雨 2017-02-04
  • 打赏
  • 举报
回复
多谢楼上了,我以为只有这一个数据,就忘记是数组了!多谢了~~
functionsub 2017-02-04
  • 打赏
  • 举报
回复
var temp1 = url.match(/\d+.asp/); 这一句执行完成后,temp1是一个数组,没有match方法。
var url= "http://localhost:80/pro_321.asp";
var temp1 = url.match(/\d+.asp/);
document.write(temp1);
var temp1 = url.match(/\d+.asp/);
if(temp1){
    temp1 = temp1[0];
    var temp = temp1.match(/\d+/);
    document.write(temp);
}
天上下雨 2017-02-04
  • 打赏
  • 举报
回复
求大神指点到底哪里有问题

87,903

社区成员

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

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