Javascript 如何提取包含“的子字符串”;C:\fakepath.“;

Javascript 如何提取包含“的子字符串”;C:\fakepath.“;,javascript,file-upload,Javascript,File Upload,我正在谷歌浏览器中上传一个文件 当我尝试使用以下代码来警告输入文件(abc.pdf)的值时,它显示为C:\fakepath\abc.pdf var ab=document.getElementById(“myfile”).value 警报(ab) 所以我尝试了以下方法来获取文件输入的值 使用了split(\\”机制,但没有得到结果 试图使用lastIndexOf(“\\”)查找“\”的最后一个索引,但未找到 我已经编写了以下代码片段。但我不知道下一步该怎么做。 如有任何建议,将不胜感激 <

我正在谷歌浏览器中上传一个文件

当我尝试使用以下代码来警告输入文件(abc.pdf)的值时,它显示为
C:\fakepath\abc.pdf

var ab=document.getElementById(“myfile”).value
警报(ab)

所以我尝试了以下方法来获取文件输入的值

  • 使用了
    split(\\”
    机制,但没有得到结果
  • 试图使用
    lastIndexOf(“\\”)
    查找“\”的最后一个索引,但未找到 我已经编写了以下代码片段。但我不知道下一步该怎么做。
    如有任何建议,将不胜感激

    <html>
    <head>
        <script type="text/javascript">
            function show(){
                var ab = document.getElementById("myfile").value;
                alert(ab);
            }
        </script>
    </head>    
    <body>
      <form>
       <input type="file" name="myfile" id="myfile" value="" onchange="show()"/>
       <input type="button" name="submit" value="submit">
      </form>
    </body>
    </html>
    
    
    函数show(){
    var ab=document.getElementById(“myfile”).value;
    警报(ab);
    }
    
    您可以尝试替换吗

    var ab = document.getElementById("myfile").value.replace(/C:\\fakepath\\/i, '');
    

    C:\fakepath\
    只是浏览器出于安全目的添加的内容,实际值发布到服务器时不应出现

    如果要替换它们以显示在
    alert()
    调用中(或出于其他目的),您可以尝试通过调用替换它们:

    您可以在下面看到一个完整的工作示例(只需添加一个文件):

    
    伪路径橡皮擦专业版
    “\”是一个特殊字符,必须在字符串中转义才能正常工作

    var path = "C:\\fakepath\\abc.pdf";
    var array = path.split("\\");
    console.log(array[array.length-1]);
    // output will be "abc.pdf"
    

    如何在我得到的值上添加一个额外的“\”?我在浏览文件时得到了值。是的。。它在@Rion正常工作。谢谢
    var path = "C:\\fakepath\\abc.pdf";
    var array = path.split("\\");
    console.log(array[array.length-1]);
    // output will be "abc.pdf"