感觉你这个逻辑好奇怪! 为什么不是直接用 | 拆分成一个数组呢!?
先用最基本的substring方法处理一下吧:
<html><head>
<script language="javascript">
function Window_Load(){
var str = "abc|def|g"
var position = str.indexOf("|")
var ls = str.substring(0,position)
alert(ls) // 第一个 | 左边的字串: abc
var rs = str.substr(position + 1).replace("|","")
alert(rs) // 第一个 | 右边的字串: defg
}
</script>
</head>
<body onload="Window_Load()">
</body>
</html>
正常的拆分最好还是用split方法:
<html><head>
<script language="javascript">
function Window_Load(){
var str = "abc|def|g"
var data = str.split("|")
//左边的字串: abc
var ls = data.shift()
alert(ls)
//右边的字串: defg
var rs = data.join("")
alert(rs)
}
</script>
</head>
<body onload="Window_Load()">
</body>
</html>
js的String有indexOf(),lastIndexOf()方法可以知道某字符(串)第一次或者最后一次出现的位置,然后用String的substring()方法传入开始出现 的位置和最后出现的位置,就可以达到你要的结果了。具体用法你百度吧。可以使用split()函数进行分割,以空格分割并返回数组实例:
<script language="javascript">var str="这 是 字 符 串"var arr=str.split(" ")</script>这个结果的数组arr的值:arr[0]='这'arr[1]='是'arr[2]='字'arr[3]='符'arr[4]='串'
split()是javascript的String对象属性的一个方法;
语法结构是stringObject.split(separator,howmany),拥有两个参数,第一个参数是以什么字符进行分割,第二个参数是返回的数组的最大长度,实例:
<script language="javascript">var str="这 是 字 符 串"var arr=str.split(" ",2)</script>这个结果数组arr只有两个元素:arr[0]='这'arr[1]='是'