求助: js 截取字符串

dreamroad 2007-01-12 11:46:02
现在要截取url的字符串

问题如下
如果url是这样的形式showInfo.aspx?id=200701的话,即带参数的,则截取id的值200701,并将此值赋给一个input,如果只是showInfo.aspx的话,取不进行截取,
要求在页面装载执行此js

以前没有写过js,求助一下,谢谢啊。。。
...全文
588 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
dreamroad 2007-01-13
  • 打赏
  • 举报
回复
还有一个问题,页面载入的时候怎么调用,在form里用onload="";好像没有效果。。。。
dreamroad 2007-01-13
  • 打赏
  • 举报
回复
我先试试,谢谢呀。。。
chuckcoin 2007-01-13
  • 打赏
  • 举报
回复
写个通用函数
function ParseQueryString(string)
{
var strQueryString = document.location.search;
var strSearchFor = string + "=";
var IndexBegin = strQueryString.indexOf(strSearchFor) + strSearchFor.length;
if(IndexBegin == -1)
return "";
var IndexEnd = strQueryString.indexOf("&", IndexBegin);
if(IndexEnd == -1)
IndexEnd = strQueryString.length;
var result = strQueryString.substring(IndexBegin, IndexEnd);
return result;
}

这个用法就跟Request.QueryString差不多了
比如
var id = ParseQueryString("id");
dreamroad 2007-01-13
  • 打赏
  • 举报
回复
都不懂呵,得恶补一下,传递的参数只有一个,不需要"&"
btbtd 2007-01-13
  • 打赏
  • 举报
回复
function fStrQryStr(sStr,sPrefix){
if(!sPrefix) sPrefix='';
if(!sStr) sStr=location.search;
if(sStr.length==0)return false;
sStr.replace(/([^\=\?\&]+)\=([^\&\=]+)/g,function($0,$1,$2){
eval(sPrefix+$1+'=$2');
});
} // end function fStrQryStr(sStr,sPrefix) //shawl.qiu code
chuckcoin 2007-01-13
  • 打赏
  • 举报
回复
晕~这个也用正则?
有现成的对象哎~
chuckcoin 2007-01-13
  • 打赏
  • 举报
回复
document.location.search
meizz 2007-01-13
  • 打赏
  • 举报
回复
String.prototype.getQueryString = function(name)
{
var reg = new RegExp("(^|&|\\?)"+ name +"=([^&]*)(&|$)");
var r = this.match(reg);
if (r!=null) return unescape(r[2]); return null;
}

var id = "showInfo.aspx?id=200701".getQueryString("id");
alert(id);

var id = window.location.href.getQueryString("id");
if(id!=null) alert(id);
chuckcoin 2007-01-13
  • 打赏
  • 举报
回复
function ParseQueryString(sQueryString)
{
var IndexBegin = sQueryString.indexOf("id=") + "id=".length;
if(IndexBegin == -1)
return "";
var IndexEnd = sQueryString.indexOf("&", IndexBegin);
if(IndexEnd == -1)
IndexEnd = sQueryString.length;
var result = sQueryString.substring(IndexBegin, IndexEnd);
return result;
}

var id = ParseQueryString(document.location);
//注意这里得到的id是string型的
RUN_ 2007-01-13
  • 打赏
  • 举报
回复
同意meizz的观点。。。我个人是喜欢用正则来解决这个问题。。。
chuckcoin 2007-01-13
  • 打赏
  • 举报
回复
onload 是 <body>的属性

87,904

社区成员

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

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