javascript 从字符串的某个位置开始截取?

http://www.test.com/?p=1&sn=123&code=1233212342

现在想获取http://www.test.com/?p=1&sn=123
我想把code以后的删掉,能不能通过code这个标示来截取

阅读 10.8k
8 个回答

方法有很多种,我写一种给你参考:

var str = "http://www.test.com/?p=1&code=1233212342";
var arr = str.split("&");
console.log(arr[0]);

修改如下:

var str = "http://www.test.com/?p=1&sn=123&code=1233212342";
console.log(str.substring(0,str.lastIndexOf("&")));

如果要根据code截取的话,可以先查找到code的位置,在截取字符串

var str = "http://www.test.com/?p=1&sn=123&code=1233212342";
console.log(str.substring(0,str.indexOf("&code")));

道理是一样的。

'http://www.test.com/?p=1&code=1233212342'.split('&')[0]

/**
 * 获取URL参数
 * @param  {[type]} k [description]
 * @return {[type]}   [description]
 */
var getParams = function(k){
    var url = window.location.href;
    if(url.indexOf('#!/') > -1) url = url.replace('#!/','');
    var search = url.split('?')[1].split('&');
    var params = {};
    for(var i in search){
        var temp = search[i].split('=');
        params[temp[0]] = temp[1];
    }
    console.log(params);
    if(k) return params[k];
    return params;
};
新手上路,请多包涵
var str = 'http://www.test.com/?p=1&code=1233212342';

var res = str.split('&')[0];

str.slice(str.indexOf('&'))
截取第一个&字符之前的文本

新手上路,请多包涵

扩展性不好,你应该将这个url地址转成url和参数,然后你想要怎么拼都可以

居然没人用正则??
这个问题摆明了就是用正则啊

var str = "http://www.test.com/?p=1&sn=123&code=1233212342";
var ans = str.match(/^[\d\D]+?(?=&code)/);
var getUrlParam = function(name) {
    var url = window.location.href;
    var params = url.substr(url.indexOf("?") + 1);
    var paramsarr = params.split("&");
    var paramsobj = {};
    for (var i = 0; i < paramsarr.length; i++) {
        var list = paramsarr[i].split("=");
        paramsobj[list[0]] = list[1];
    }
    return paramsobj[name];
}

getUrlParam("code")

var str = "http://www.test.com/?p=1&code=1233212342";

           var str1=str.replace(/(\S+)&code(\S)+/,"$1")
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题