在string - javascript中转义反斜杠
Escaping backslash in string - javascript
我需要显示当前选定文件的名称(在<input type="file">
元素中)。
一切都很好,唯一的问题是我得到了这种字符串"C:'fakepath'typog_rules.pdf" (browset自动将此作为输入元素的值)。
当我尝试通过'''
或''''
分割字符串时,由于未转义斜杠而失败。尝试匹配/替换斜杠也会失败。有办法解决这个问题吗?我需要这个工作至少在Opera和IE(因为在其他浏览器中,我可以使用FileReader)
如我得到"C:'fakepath'typog_rules.pdf"作为输入,并希望得到"typog_rules.pdf"作为输出。
出于安全原因,不可能获得通过<input type="file" />
元素引用的文件的真实完整路径。
这个问题已经提到了,并且链接到关于这个主题的其他堆栈溢出问题。
之前的答案,保留作为将来通过标题,标签和问题到达本页的访问者的参考。
反斜杠必须转义
string = string.split("''");
在JavaScript中,反斜杠用于转义特殊字符,如换行符('n
)。如果你想使用文字反斜杠,必须使用双反斜杠。
所以,如果你想匹配两个反斜杠,必须使用四个反斜杠。例如,alert("''''")
将显示一个包含两个反斜杠的对话框。
转义反斜杠字符
foo.split('''')
我认为这更接近你正在寻找的答案:
<input type="file">
$file = $(file);
var filename = fileElement[0].files[0].name;
有点粗糙,但它可以工作:
const input = ''text';
const output = JSON.stringify(input).replace(/((^")|("$))/g, "").trim();
console.log({ input, output });
// { input: ''text', output: '''text' }
为元素添加一个输入id,并执行如下操作:
document.getElementById('inputId').value.split(/[''$]/).pop()
相关文章:
- 将jsp文件下拉列表中的选定项分配给一个java变量(比如String selection)
- 在JavaScript中输出转义字符
- 转义符不能与innerHTML一起使用
- Rails 3.2 js.erb文件转义js
- 转义在jsp's脚本
- 如何在MongoDB中将String转换为Array
- how to split a string with ','
- 使用Jinja2的JavaScript转义字符串
- Protractor:element.getText()返回一个对象,而不是String
- 如何在不在本地下载的情况下将url中提供的文件(pdf/doc)转换为json/string/base64格式
- 将c#视图模型转换为javascript模型时转义HTML标记
- Javascript 如何强制 string.replace 不将我的字符串解释为正则表达式
- Rails:如何在浏览器中显示动态html内容,而不会对其进行转义,也不会引起XSS攻击
- JavaScript警报适用于int,但不适用于string
- 删除单引号字符转义
- 如何使用javascript/jquery更改转义键的功能
- 在 String.prototype.rereplace 使用的字符串中转义美元符号的更好方法
- 正在转义String.replace的$符号
- 在string - javascript中转义反斜杠
- 如何像String()那样使用转义序列