大神们12.2323.343.23怎么判断第二个小数点的位置??小弟刚刚接触js

2025-04-13 14:29:42
推荐回答(1个)
回答1:

var strObj;
strObj="12.2323.343.23";
alert(strObj.indexOf(".",strObj.indexOf(".")+1));
========================
indexOf用法:

返回 String 对象内第一次出现子字符串的字符位置。

strObj.indexOf(subString[, startIndex])

参数
strObj

必选项。String 对象或文字。

subString

必选项。要在 String 对象中查找的子字符串。

starIndex

可选项。该整数值指出在 String 对象内开始查找的索引。如果省略,则从字符串的开始处查找。
=============================
所以,我们在这个indexOf中再套一个indexOf就可实现。为什么后面要写+1,因为,还是从那个位置找的话,找到的还是第1个点的位置。
=================
如果要找第N个点所在位置要怎么做?var strObj;
strObj="12.2323.343.23";
alert(find_str(strObj,".",3));

function find_str(str,f_str,n){
var arr_str;
var tmp_str=0;
var arr_str=str.split(f_str);
if(arr_str.lengthfor(i=0;itmp_str=arr_str[i].length+tmp_str;
}
return tmp_str+i-1;
}
再试试这个的效果,
这个是利用split,将所要查找的字符串为分割符,划分为数组
再将每个数组中的字符数累计,最后再加上循环的次数-1,为什么还要-1,因为不减1就超过一个字符了