介绍:split 方法
定义和用法
split() 方法用于把一个字符串分割成字符串数组。
提示: 如果把空字符串 ("") 用作 separator,那么 stringObject 中的每个字符之间都会被分割。
注意: split() 方法不改变原始字符串。
语法
string.split(separator,limit)
参数值
参数 | 描述 |
---|---|
separator | 可选。字符串或正则表达式,从该参数指定的地方分割 string Object。 |
limit | 可选。该参数可指定返回的数组的最大长度。如果设置了该参数,返回的子串不会多于这个参数指定的数组。如果没有设置该参数,整个字符串都会被分割,不考虑它的长度。 |
返回值
类型 | 描述 |
---|---|
Array | 一个字符串数组。该数组是通过在 separator 指定的边界处将字符串 string Object 分割成子串创建的。返回的数组中的字串不包括 separator 自身。 |
源码:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>根据URL用split截取页码</title>
</head>
<body>
<p id="demo">根据URL用split截取页码</p>
<button onclick="myFunction()">点我</button>
<script>
function myFunction(){
var str1="http://www.xiaoxiongyoupin.com/product/yifuxiewa.html";
var str2="http://www.xiaoxiongyoupin.com/product/yifuxiewa.html#/page/2";
var str3="http://www.xiaoxiongyoupin.com/product/yifuxiewa.html#/page/3";
var str1_s=str1.split("/");
var str2_s=str2.split("/");
var str3_s=str3.split("/");
var str1_s_l=str1_s.length;
var str2_s_l=str2_s.length;
var str3_s_l=str3_s.length;
document.getElementById("demo").innerHTML="";
document.getElementById("demo").innerHTML+="str1初始值="+str1+"<br/>";
document.getElementById("demo").innerHTML+="str1被split后的值(类型数组)="+str1_s+"<br/>";
document.getElementById("demo").innerHTML+="str1被split后的数组长度="+str1_s_l+"<br/>";
document.getElementById("demo").innerHTML+="str1被split后的数组最后一位的值="+str1_s[str1_s_l-1]+"<br/>";
document.getElementById("demo").innerHTML+="根据str1过滤当前位置="+checkRate(str1_s[str1_s_l-1])+"<br/>";
document.getElementById("demo").innerHTML+="<hr>";
document.getElementById("demo").innerHTML+="str2初始值="+str2+"<br/>";
document.getElementById("demo").innerHTML+="str2被split后的值(类型数组)="+str2_s+"<br/>";
document.getElementById("demo").innerHTML+="str2被split后的数组长度="+str2_s_l+"<br/>";
document.getElementById("demo").innerHTML+="str2被split后的数组最后一位的值="+str2_s[str2_s_l-1]+"<br/>";
document.getElementById("demo").innerHTML+="根据str2过滤当前位置="+checkRate(str2_s[str2_s_l-1])+"<br/>";
document.getElementById("demo").innerHTML+="<hr>";
document.getElementById("demo").innerHTML+="str3初始值="+str3+"<br/>";
document.getElementById("demo").innerHTML+="str3被split后的值(类型数组)="+str3_s+"<br/>";
document.getElementById("demo").innerHTML+="str3被split后的数组长度="+str3_s_l+"<br/>";
document.getElementById("demo").innerHTML+="str3被split后的数组最后一位的值="+str3_s[str3_s_l-1]+"<br/>";
document.getElementById("demo").innerHTML+="根据str3过滤当前位置="+checkRate(str3_s[str3_s_l-1])+"<br/>";
document.getElementById("demo").innerHTML+="<hr>";
}
//判断传递过来的数字是否是"非负整数(正整数 + 0)"
function checkRate(nubmer) {
var re = /^[1-9]\d*|0$/;
if (!re.test(nubmer)) {
return "首页";
}
else{
return "当前是第"+nubmer+"页";
}
}
</script>
</body>
</html>
运行结果
str1初始值=http://www.xiaoxiongyoupin.com/product/yifuxiewa.html
str1被split后的值(类型数组)=http:,,www.xiaoxiongyoupin.com,product,yifuxiewa.html
str1被split后的数组长度=5
str1被split后的数组最后一位的值=yifuxiewa.html
根据str1过滤当前位置=首页
str2初始值=http://www.xiaoxiongyoupin.com/product/yifuxiewa.html#/page/2
str2被split后的值(类型数组)=http:,,www.xiaoxiongyoupin.com,product,yifuxiewa.html#,page,2
str2被split后的数组长度=7
str2被split后的数组最后一位的值=2
根据str2过滤当前位置=当前是第2页
str3初始值=http://www.xiaoxiongyoupin.com/product/yifuxiewa.html#/page/3
str3被split后的值(类型数组)=http:,,www.xiaoxiongyoupin.com,product,yifuxiewa.html#,page,3
str3被split后的数组长度=7
str3被split后的数组最后一位的值=3
根据str3过滤当前位置=当前是第3页