什么是indexof()相反的javascript函数?

时间:2014-12-03 10:59:33

标签: javascript jquery

什么是与indexof()相反的javascript函数?

按下按钮时,在我的代码中。它会显示3 [来自indexof(".")]。

但是我希望功能与indexof()相反,那就是显示2 [decimal]

http://jsfiddle.net/TyV3s/1/

<!DOCTYPE html>
<body>
<button onclick="myFunction()">Try it</button>

<p id="demo"></p>

<script>
function myFunction() {
    var str = "150.20";
    var n = str.indexOf(".");
    document.getElementById("demo").innerHTML = n;
}
</script>

</body>
</html>

2 个答案:

答案 0 :(得分:3)

有些不足为奇,lastIndexOf会在这里提供帮助。

唯一的问题是,它仍然是字符串末尾的数字,因此您必须执行str.length - str.lastIndexOf(".") - 1之类的操作才能获得您正在寻找的2。没有内置功能。<​​/ p>

答案 1 :(得分:2)

试试这个:

str.split(".")[1].length;

您可以使用"."方法将字符串拆分为.split(),并使用[1]获取第一个索引并计算其长度。


Demo


正如 Der Vampyr 评论所以我认为应该这样,你可以用它来更新它:

function myFunction() {
    var str = "150.22";
    var dot = str.indexOf(".");
    var n = (dot != -1) ? str.split(".")[1].length : "This value does not have decimals.";
    document.getElementById("demo").innerHTML = n;
}

Another Demo.