Javascript lastIndexOf无效

时间:2013-08-03 01:57:14

标签: javascript

我正在尝试使用纯javascript中的lastindexof函数从URL中删除伪路径 但是没有输出显示以下是我的JS代码: -

function myFunction()
{
var str="C:\fakepath\somefile.txt";
var m=str.lastIndexOf("\");
var n=str.substring(m+1);
document.getElementById("demo").innerHTML=n;
}

以下是我的HTML代码: -

<p id="demo">
    Click the button to locate where in the string a specified value occurs.
</p>
<button onclick="myFunction()">Try it</button>

你可以在我的jsfiddle找到工作示例 - &gt; http://jsfiddle.net/xKPaK/4/

1 个答案:

答案 0 :(得分:1)

    必须转义
  1. \个字符 反斜杠用于在字符串中创建特殊字符。例如,'\n'创建一个字符串,其值为换行符,而'\\n'创建一个值为\n的字符串。
  2. myFunction必须在全局范围内才能在HTML属性回调中调用 这是jsfiddle的怪癖。 JavaScript窗格的内容实际上是在一个函数中执行的,这为变量和函数创建了新的范围。只需将该功能添加到全局对象即可解决问题。
  3. function myFunction() {
        var str,
            m,
            n;
        str = "C:\\fakepath\\somefile.txt";
        m = str.lastIndexOf("\\");
        n = str.substring(m + 1);
        document.getElementById("demo").innerHTML = n;
    }
    window.myFunction = myFunction;
    

    fiddle