以前很少用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>