Javascript中的Split使用方法与技巧

  以前很少用Split方法,今天找了些资料。

  使用方法:myArray=string.split("|")

  说明:"|"为切割特征字符,string为要切割的字符串,myArray为切割结果(存放于数组),使用方法myArray[n],n=myArray.length。

  起先我还用asp中的思维在考虑怎么得到myArray的最大下标呢,肯定不是Ubound(myArray),找了半天没找到,最后知道了,其实在Javascript中数组都有一个length属性,myArray.length-1也就是myArray数组的最大下标,很简单吧,想的到真容易,想不到真是难。

  来看一个使用split的实例:用javascript获得地址栏参数。

  

复制代码 代码如下:

  <script language="JavaScript">

  <!--

  function Request(strName)

  {

  var strHref = "www.nextway.cn/index.htm?a=1&b=1&c=Split实例";

  var intPos = strHref.indexOf("?");

  var strRight = strHref.substr(intPos + 1);

  var arrTmp = strRight.split("&");

  for(var i = 0; i < arrTmp.length; i++)

  {

  var arrTemp = arrTmp[i].split("=");

  if(arrTemp[0].toUpperCase() == strName.toUpperCase()) return arrTemp[1];

  }

  return "";

  }

  alert(Request("a"));

  alert(Request("b"));

  alert(Request("c"));

  //-->

  </script>

  获得地址栏参数还有另外一种方法,正则表达式:

  

复制代码 代码如下:

  <script>

  String.prototype.getQuery = function(name)

  {

  var reg = new RegExp("(^|&)"+ name +"=([^&]*)(&|$)");

  var r = this.substr(this.indexOf("\?")+1).match(reg);

  if (r!=null) return unescape(r[2]); return null;

  }

  var str = "www.nextway.cn/index.htm?a=1&b=1&c=Split实例";

  alert(str.getQuery("a"));

  alert(str.getQuery("b"));

  alert(str.getQuery("c"));

  </script>