zoukankan      html  css  js  c++  java
  • js 获取url中的参数

    在博客园找到的一个运用正则表达式的方法

    function getQueryString(name) {
    var reg =new RegExp("(^|&)"+ name +"=([^&]*)(&|$)", "i");
    var r = window.location.search.substr(1).match(reg);
    if (r !=null) return unescape(r[2]); returnnull;
    }

    1 这里的正则表达式 的意思是 

       RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i"):
      以&开始或直接以name开始
      以&结束或直接结束
      name的值是由0到多个不是&的字符组成!!
     "i"是忽略大小写!

    2  window.location.search 是当前url的?开始的字符串 substr 截取字符串 两个参数 substr(index,length) 开始与长度 如果第二个参数缺省 则截取开始一直到字符串结束.

    3 string.match 函数 

      

    match() 方法可在字符串内检索指定的值,或找到一个或多个正则表达式的匹配。

    该方法类似 indexOf() 和 lastIndexOf(),但是它返回指定的值,而不是字符串的位置。

    返回值

    存放匹配结果的数组。该数组的内容依赖于 regexp 是否具有全局标志 g。

    说明

    match() 方法将检索字符串 stringObject,以找到一个或多个与 regexp 匹配的文本。这个方法的行为在很大程度上有赖于 regexp 是否具有标志 g。

    如果 regexp 没有标志 g,那么 match() 方法就只能在 stringObject 中执行一次匹配。如果没有找到任何匹配的文本, match() 将返回 null。否则,它将返回一个数组,其中存放了与它找到的匹配文本有关的信息。该数组的第 0 个元素存放的是匹配文本,而其余的元素存放的是与正则表达式的子表达式匹配的文本。除了这些常规的数组元素之外,返回的数组还含有两个对象属性。index 属性声明的是匹配文本的起始字符在 stringObject 中的位置,input 属性声明的是对 stringObject 的引用。

    && 在不是全局变量下 如果有匹配的将返回一个数组 第0个存放匹配的文本 随后的是正则表达式子表达式匹配的数据 

    例子 

    ("(^|&)"+ name +"=([^&]*)(&|$)", "i") 子表达式 为三个括号内的表达式 (^|&) ,([^&]*),(&|$) 

     http://ppt.chem.com/news/default2.aspx?classid=1692&name=14247

    返回的数组是 Array[4] ["classid=1692","","1692","&",index:0,input:"classid=1692&name=14247"]

    如果正则表达式为 ("(^|&)("+ name +")=([^&]*)(&|$)", "i")

    返回的是返回的数组是 Array[4] ["classid=1692","","classid","1692","&",index:0,input:"classid=1692&name=14247"]

    如果 regexp 具有标志 g,则 match() 方法将执行全局检索,找到 stringObject 中的所有匹配子字符串。若没有找到任何匹配的子串,则返回 null。如果找到了一个或多个匹配子串,则返回一个数组。不过全局匹配返回的数组的内容与前者大不相同,它的数组元素中存放的是 stringObject 中所有的匹配子串,而且也没有 index 属性或 input 属性。

    注意:在全局检索模式下,match() 即不提供与子表达式匹配的文本的信息,也不声明每个匹配子串的位置。如果您需要这些全局检索的信息,可以使用 RegExp.exec()。

  • 相关阅读:
    about springmvc intergation jquery with ajax &noajax version
    spring mvc book very good
    use spring config editor to configure xsi:schemaLocation
    install firefox9 on ubuntu lucid
    TCMalloc : ThreadCaching Malloc
    ubuntu amd64bit lts lucid lynx image download address
    一个词评价python 和rails
    virtualbox ubuntu下使用设置
    how to install chromium on ubuntu lucid
    Extjs4 MVC 示例
  • 原文地址:https://www.cnblogs.com/wangzp/p/3267255.html
Copyright © 2011-2022 走看看