js获取绝对路径中的文件名

var path = 'dist\rev\js\rev-manifest.json';

想要获取 rev-manifest.json
但由于反斜杠关系导致匹配不到\

'dist\rev\js\rev-manifest.json'.lastIndexOf('\\'); // -1

encodeURI('dist\rev\js\rev-manifest.json');
// 试过encode想把反斜杠转译,但\r被当成一个字符
// dist%0Devjs%0Dev-manifest.json

请问老哥们有什么办法获取文件名

阅读 6k
3 个回答

试了下,这样好用

JSON.stringify('dist\rev\js\rev-manifest.json').lastIndexOf('\\')
// 11

/**
* 获取当前站点的访问路径根目录

* @return [type] [description]

*/

function getSiteUrl()

{

$uri = $_SERVER['REQUEST_URI'] ? $\_SERVER\['REQUEST\_URI'\] : ($_SERVER['PHP_SELF'] ? $\_SERVER\['PHP\_SELF'\] : $_SERVER['SCRIPT_NAME']);

return 'http://' . $\_SERVER\['HTTP\_HOST'\] . substr($uri, 0, strrpos($uri, '/') + 1);

}

最近用php获取绝对路径,调的是这个函数。

JSON.stringify('dist\rev\js\rev-manifest.json').match(/(\w|-)*\.json/)[0];

--------------------
闲着无聊来补充 Es6有个新方法就是可以忽略对(`\n`,`\v`,`\t`等)的转义 不过该方法用于模板字符串。
String.raw`dist\rev\js\rev-manifest.json`;
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题