今天写了一个URL “?” 后面的字符串 来改变当前页面的状态

首先需要获取当前页面的URL

console.log(widow.location)

之后页面就会打印出来当前的URL

之后我们获取URL后面的字符串

var url =location.search    // 获取url后面的字符串
console.log(url) //打印url

打印结果:

之后我们需要截取“?””后面的字符串

var str =url.substr(1)  //获取“?”后的字符串
console.log(str)//打印

打印结果:

这样就获取到了“?”后面的字符串

之后需要分割字符串

strs = str.split("&");            
console.log(strs)

打印结果:

所以整体下的代码如下:

console.log(window.location)
var url = location.search; //获取url中"?"符后的字串
console.log(url)
if (url.indexOf("?") != -1) {
var str = url.substr(1);
console.log(str)
strs = str.split(" ");
console.log(strs) userId = decodeURIComponent(strs[0].replace("userId=",""));
// userName = decodeURIComponent(strs[1].replace("userName=","")); }
if(str=="type=1"){
$(".toptext").text("11111")
}else{
$(".toptext").text("22222")
}

其中里面可会会有和我一样刚学前端的同学们会弄不清substr和substring的区别

所以我百度了一下顺便也在这里说一下

substring(from to)    从from位置截取到to-1的位置

eg:此时相当于从from位置截取到原字符串末尾

var a="beautiful"

a.substring(1)  //就是从下标为1的字符(这里是'e')开始起到字符串末尾全部截取,最终获得子串"eautiful"

从from位置截取到to-1的位置

var a ="beautiful"

a.substring(1,5) //相当于从位置为1的字符截取到位置为2的字符,得到子串为:"eaut"

substr(start length)

var a ="beautiful"

a.substr(1,3)// 得到的字符串:“eau”

还有两种特殊情况

当后面的长度超出字符串剩余的长度

var a =“beautiful”

a.substr(3,10)//得到的字符串:“utiful”

另外一种情况是

第一个数字为负数

var a="beautiful"

a.substr(-5,3) //即从倒数第五个字符开始起截取3个长度,获得:"tif"

不带length参数,默认指代从start位置截取到字符串末尾

var a = “beautiful”

a.substr(4)//得到字符串:“tiful”

谢谢大家  这就是我今天要和分享的东西   希望可以帮助到你

2019-04-09

获取url "?" 后面的字符串的更多相关文章

  1. 获取url中查询字符串参数

    // 获取url中查询字符串参数 例如http://www.test.com?a=1&b=2 function RequestParamete() { var url = window.loc ...

  2. 获取url传参

    function urlparameterforkey(name) { //读取html 数据 ); //待处理的字符串 var patt = new RegExp(name); //要查找的字符串 ...

  3. nodejs(14)express获取url中的参数

    问号传参获取参数 获取 http://127.0.0.1:3001/user?id=10&name=zs 中的查询参数: 直接使用 req.query 获取参数即可: 注意:URL 地址栏中通 ...

  4. js中获取URL中指定的查询字符串

    js中获取URL中指定的搜索字符串,主要利用location对象实现,废话少说,上代码. function getSearchString(key) { // 获取URL中?之后的字符 var str ...

  5. 替换所有字符串,获取url参数值

    替换所有的字符串: var newStr = str.replace(/null/g, ""); 获取url参数值 <script type="text/javas ...

  6. 如何获取浏览器URL中查询字符串的参数

    首先要知道Location这个对象以及这个对象中的一些属性: href:设置或返回完整的url.如本博客首页返回http://www.cnblogs.com/wymninja/ host:设置或返回主 ...

  7. 【本周面试题】第1周 - 获取URL中的查询字符串参数、get和post的区别

    [此系列优先解决自己经历的面试题] 2018.11.16 面试题一:你如何获取浏览器URL中查询字符串中的参数? 题目代码: 测试地址为 https://www.sogou.com/tx?query= ...

  8. JS获取浏览器URL中查询字符串的参数

    首先要知道Location这个对象以及这个对象中的一些属性: href:设置或返回完整的url.如本博客首页返回http://www.cnblogs.com/wymninja/ host:设置或返回主 ...

  9. 如何获取浏览器URL中查询字符串的参数?

    如何获取浏览器URL中查询字符串的参数? 想要知道怎样解决这个问题,首先我们先认识一下Location对象. Location对象包含了当前页面与位置(url)相关的信息 URL示例:http://w ...

随机推荐

  1. Java学习-050-AES256 之 java.security.InvalidKeyException: Illegal key size or default parameters 解决方法

    在进行 Java AES 加密测试时,出现如下错误信息: java.security.InvalidKeyException: Illegal key size or default paramete ...

  2. 格式化输出&初始编码&运算符

    一:格式化输出 %     %d   %s %为占位符   S替换的内容的类型为字符型 d替换的内容为整型 若在格式化输出的时候需要正常用到% 则表示时用两个%%表示 如: name = input( ...

  3. 使用jfreechart生成柱状图、折线图、和饼状图

    JFreeChart是JAVA平台上的一个开放的图表绘制类库.它完全使用JAVA语言编写,是为applications, applets, servlets 以及JSP等使用所设计.下面我就详细介绍如 ...

  4. OOP面向对象编程(下)

    我们怎么去模拟重载,在javasceipr中我们可以通过参数的类型区别或者数量的区别,来去让同样一个函数名字,可以根据不同的参数列表的情况来去调用相应的函数. javascript中函数类型是不确定的 ...

  5. python_json序列化和反序列化

    序列化 import json dic = {'} print(json.dumps(dic)) 反序列化;json.loads() dic = {'} print(json.dumps(dic)) ...

  6. vue和jQuery嵌套实现异步ajax通信

    <!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8&qu ...

  7. 前端学习历程--js--原型&闭包

    一.数据类型 1.值类型:undefined, number, string, boolean,不是对象 2.引用类型:函数.数组.对象.null.new Number(10)都是对象 3.引用类型判 ...

  8. Objective-C RunTime 学习笔记 之 基础结构体

    1.OC 运行期常用对象结构体 基本的结构体定义 typedef objc_class Class; /* 类 */ typedef objc_object *id; /* 各种类型,只要第一个字段为 ...

  9. ASP.net MVC5 Code First填充测试数据到数据库

    问题的产生  最近在看Adam Freeman的“Pro ASP.NET MVC5”,于是在工作机上面搭建了相应的运行环境,但是在自己的机器上面只有代码,没有数据库.记得在code first中可以新 ...

  10. kubernetes1.4新特性(一):支持sysctl命令

    sysctl是一个允许改变正在运行中的Linux系统内核参数的接口.可以通过sysctl修改Linux系统内核中的TCP/IP 堆栈和虚拟内存系统的高级选项,而且不需要重新启动Linux系统,就可以实 ...